#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
vector<ll> a(n + 1), p(n + 1, 0);
for(int i = 1; i <= n; i++) {
cin >> a[i];
}
for(int i = 1; i <= n; i++) {
p[i] = p[i - 1] + a[i];
}
int mx = 1;
for(int i = 1; i <= n; i++) {
vector<ll> v;
v.push_back(p[i]);
int id = i, pid = 0, cnt = 0;
while(id < n && pid < n && pid < id) {
if(p.back() < p[id] * 2 - p[pid]) break;
int x = lower_bound(p.begin(), p.end(), p[id] * 2 - p[pid]) - p.begin();
pid = id;
id = x;
if(p[id] - p[pid] >= v.back()) v.push_back(p[id] - p[pid]);
cnt++;
}
mx = max((int)v.size(), mx);
}
cout << mx << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |