제출 #1293354

#제출 시각아이디문제언어결과실행 시간메모리
1293354hahaBigger segments (IZhO19_segments)C++20
37 / 100
2 ms580 KiB
#include <bits/stdc++.h> #define f first #define s second #define ll long long using namespace std; const int maxn=5e3+5; int n; int a[maxn]; pair<int,ll> dp[maxn]; ll sum[maxn]; int main() { ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; sum[i]=sum[i-1]+a[i]; } dp[0]={1,0}; for(int i=1;i<=n;i++){ dp[i]=max(dp[i],dp[i-1]); ll val=2*sum[i]-dp[i].s; int j=lower_bound(sum+i,sum+n+1,val)-sum; dp[j]=max(dp[j],make_pair(dp[i].f+1,sum[i])); } cout<<dp[n].f; }
#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...