Submission #287925

#TimeUsernameProblemLanguageResultExecution timeMemory
287925oolimryBigger segments (IZhO19_segments)C++14
37 / 100
1563 ms3000 KiB
#include <bits/stdc++.h> #define all(x) (x).begin(), (x).end() #define sz(x) (int) (x).size() using namespace std; typedef long long lint; typedef pair<int,int> ii; lint arr[500006]; lint prefix[500006]; lint most[500006]; lint take[500006]; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; for(int i = 1;i <= n;i++) cin >> arr[i]; for(int i = 1;i <= n;i++) prefix[i] = prefix[i-1] + arr[i]; for(int i = 1;i <= n;i++){ most[i] = 0; for(int j = 0;j < i;j++){ lint dis = prefix[i] - prefix[j]; if(dis >= take[j]){ if(most[j]+1 > most[i]){ most[i] = most[j]+1; take[i] = dis; } else if(most[j]+1 == most[i] && dis < take[i]){ take[i] = dis; } } } } cout << most[n]; }
#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...