ソースコード
#include <iostream>
#include <algorithm>
using namespace std;
int n, s, p[100009]; long long v[100009], a[100009];
int main() {
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> a[i + 1];
a[i + 1] *= -1;
a[i + 1] += a[i];
}
/*
s = 1;
int ans = -1;
for (int i = 1; i <= n; ++i) {
int ptr = lower_bound(v, v + s, a[i]) - v;
if (ptr < s) ans = max(ans, i - p[ptr]);
if (v[s] < a[i]) {
v[s] = a[i];
p[s] = i;
++s;
}
}
*/
int ans = -1;
for (int i = 0; i < n; ++i) {
for (int j = i + (ans == -1 ? 1 : ans + 1); j <= n; ++j) {
if (a[i] < a[j]) ans = max(ans, j - i);
}
}
cout << ans << '\n';
return 0;
}