#pragma GCC optimize("Ofast")
#pragma GCC optimizer("unroll-loops")
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
ios::sync_with_stdio(0);
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
int64_t N; cin >> N;
pair <int64_t, int64_t> Cpy[N];
int64_t H[N];
for(size_t i = 0; i < N; i++) {
cin >> H[i];
Cpy[i].first = H[i];
Cpy[i].second = i;
}
sort(Cpy, Cpy+N, greater<pair <int64_t, int64_t>>());
if(N == 1) cout << 1;
else if(Cpy[0].first != Cpy[1].first) cout << N;
else {
int64_t Res = 1;
int64_t Appo = Cpy[0].first;
for(size_t i = 0; i < N; i++) {
if(Appo != Cpy[i].first) break;
Appo = Cpy[i].first;
int64_t Calc = 1;
for(size_t j = Cpy[i].second-1; j >= 0; j--) {
if(H[j] >= Appo) {
Calc++;
break;
}
Calc++;
}
for(size_t j = Cpy[i].second+1; j < N; j++) {
if(H[j] >= Appo) {
Calc++;
break;
}
Calc++;
}
Res = max(Res, Calc);
}
cout << Res;
}
}
Buongiorno a tutti, stavo provando a fare questo problema e penso che l’idea risolutiva sia giusta, tuttavia ricevo degli output errati in 5 testcase e non riesco a capire il perché. Se qualcuno riesce a trovarmi dei controesempi mi sarebbe di grande aiuto. Grazie