#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
int maxi = 0;
int maxIdx = 0;
vector<int> korale(n);
for (int i = 0; i < n; i++) {
cin >> korale[i];
if (korale[i] > maxi) {
maxi = korale[i];
maxIdx = i;
}
}
deque<int> q;
int wynik = 0;
int wynIdx = 0;
for (int i = 0; i < n; i++) {
int idx = (maxIdx-i+n) % n;
int e = korale[idx];
while (!q.empty() && q.back() <= e) q.pop_back();
q.push_back(e);
if (q.size() > wynik) {
wynik = q.size();
wynIdx = i;
}
}
cout << wynik;
}
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 37 38 39 40 41 42 43 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int maxi = 0; int maxIdx = 0; vector<int> korale(n); for (int i = 0; i < n; i++) { cin >> korale[i]; if (korale[i] > maxi) { maxi = korale[i]; maxIdx = i; } } deque<int> q; int wynik = 0; int wynIdx = 0; for (int i = 0; i < n; i++) { int idx = (maxIdx-i+n) % n; int e = korale[idx]; while (!q.empty() && q.back() <= e) q.pop_back(); q.push_back(e); if (q.size() > wynik) { wynik = q.size(); wynIdx = i; } } cout << wynik; } |
English