Submission #1295605

#TimeUsernameProblemLanguageResultExecution timeMemory
1295605k12_khoiBigger segments (IZhO19_segments)C++17
0 / 100
1 ms580 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int,ll> #define X first #define Y second const int N=5e5+5; int n,x,l; ll pre[N]; pii dp[N]; int main() { ios_base::sync_with_stdio(NULL); cin.tie(NULL); cout.tie(NULL); cin >> n; pre[0]=0; for (int i=1;i<=n;i++) { cin >> x; pre[i]=pre[i-1]+x; } dp[0]=make_pair(0,0); dp[1]=make_pair(1,0); l=1; for (int i=1;i<=n;i++) { dp[i]=max(dp[i],dp[i-1]); while (l<=n and pre[i]*2-dp[i].Y>pre[l]) l++; if (l<=n) dp[l]=max(dp[l],make_pair(dp[i].X+1,pre[i])); } cout << dp[n].X; }
#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...