Submission #1335503

#TimeUsernameProblemLanguageResultExecution timeMemory
1335503nguyenkhangninh99Bigger segments (IZhO19_segments)C++20
0 / 100
1 ms344 KiB
#include<bits/stdc++.h>
using namespace std;
 
#define int long long
const int maxn = 5e5 + 5;
int a[maxn];
pair<int, int> f[maxn];
signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
 
    int n; cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[n - i + 1];
    for(int i = 1; i <= n; i++) a[i] += a[i -1];
    f[0] = {1, 0}; 
    for(int i = 1; i <= n; i++){
        f[i] = max(f[i], f[i - 1]);
        int j = lower_bound(a + 1, a + 1 + n, a[i] * 2 - f[i].second) - a;
        f[j] = max(f[j], {f[i].first + 1, a[i]});
    }
    
    cout << f[n].first;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...