1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#define MAXN 1000000
using namespace std;

int a[MAXN];

int result(int n, int start) {
    int r = 1, best_so_far = a[start];
    for (int i = (start + 1) % n, j=0; j < n; j++, i = (i+1)%n)
        if (a[i] > best_so_far) {
            best_so_far = a[i];
            r++;
        }
    return r;
}

int main() {
    int n;
    cin >> n;
    for (int i=0; i < n; i++)
        cin >> a[i];

    int res = result(n, 0);
    for (int i = 0; i < n-1; i++) {
        int next = (i+1)%n;
        if (a[i] > a[next]) {
            int r = result(n, i+1);
            if (r > res)
                res = r;
        }
    }

    cout << res << '\n';

    return 0;
}