Submission #144286

#TimeUsernameProblemLanguageResultExecution timeMemory
144286NordwayBigger segments (IZhO19_segments)C++17
37 / 100
1575 ms2896 KiB
#include <bits/stdc++.h> #define x first #define y second #define pb push_back #define mp make_pair #define up_b upper_bound #define low_b lower_bound #define sz(x) (int)x.size() #define all(v) v.begin(),v.end() #define boost ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<int,ll> pil; typedef pair<ll,int> pli; typedef pair<ll,ll> pll; const ll INF=1e18; const ll inf=1e9; const ld eps=1e-7; const ld pi=acos(-1); const int dx[4]={0,0 ,1,-1}; const int dy[4]={1,-1,0,0}; const int N=5e5+11; const int M=1e3+11; const int mod1=998244353; const int mod2=1e9+7; ll dp[N],sum[N],a[N],p[N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; p[i]=p[i-1]+a[i]; } dp[0]=0; sum[0]=0; for(int i=1;i<=n;i++){ for(int j=i-1;j>=0;j--){ if(sum[j]+p[j]<=p[i]){ dp[i]=dp[j]+1; sum[i]=p[i]-p[j]; break; } } } cout<<dp[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...