Submission #384299

#TimeUsernameProblemLanguageResultExecution timeMemory
384299vanicBigger segments (IZhO19_segments)C++14
0 / 100
2 ms384 KiB
#include <iostream> #include <cmath> #include <algorithm> #include <vector> using namespace std; typedef long long ll; const int maxn=5e5+5; vector < int > ind; vector < ll > val; ll a[maxn]; void siftaj(){ int i=val.size()-2; bool p=1; while(p && i>=0){ p=0; while(val[i]+a[ind[i]]<=val[i+1]-a[ind[i]]){ p=1; val[i]+=a[ind[i]]; val[i+1]-=a[ind[i]]; ind[i]++; } i--; } } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; for(int i=0; i<n; i++){ cin >> a[i]; } ind.push_back(1); val.push_back(a[0]); ll sad=0; for(int i=1; i<n; i++){ sad+=a[i]; if(val.back()<=sad){ val.push_back(sad); ind.push_back(i+1); siftaj(); sad=0; } } cout << val.size() << '\n'; return 0; }
#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...