Submission #33645

#TimeUsernameProblemLanguageResultExecution timeMemory
33645dqhungdlSplit the sequence (APIO14_sequence)C++14
0 / 100
223 ms4176 KiB
#include <bits/stdc++.h> using namespace std; int n,k,a[100005],f[1005][205],Trace[1005][205]; vector<int> rs; void Sub1() { for(int i=1;i<=n;i++) { cin>>a[i]; a[i]+=a[i-1]; } for(int i=0;i<=n;i++) for(int j=0;j<=k;j++) f[i][j]=-1; f[0][0]=0; for(int i=1;i<=n;i++) for(int j=1;j<=k;j++) for(int t=1;t<=i;t++) if(f[t-1][j-1]!=-1&&f[i][j]<f[t-1][j-1]+(a[i]-a[t-1])*a[t-1]) { f[i][j]=f[t-1][j-1]+(a[i]-a[t-1])*a[t-1]; Trace[i][j]=t-1; } cout<<f[n][k]<<"\n"; while(k>1) { rs.push_back(Trace[n][k]); n=Trace[n][k]; k--; } for(int i=rs.size()-1;i>=0;i--) cout<<rs[i]<<' '; } int main() { ios_base::sync_with_stdio(false); //freopen("TEST.INP","r",stdin); cin>>n>>k; k++; if(n<=1000) Sub1(); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...