제출 #13754

#제출 시각아이디문제언어결과실행 시간메모리
13754comet수열 (APIO14_sequence)C++98
0 / 100
0 ms41512 KiB
#include<cstdio> int d[2][100010],s[100010]; short r[201][100001],n,k; void f(int x,int y){ if(r[x][y]==0)return; f(x-1,r[x][y]); printf("%d ",(int)r[x][y]); } int main(){ scanf("%d%d",&n,&k); for(int i=1;i<=n;i++){ scanf("%d",&s[i]); s[i]+=s[i-1]; } for(int i=1;i<=n;i++)d[1][i]=s[i]*(s[n]-s[i]); for(int g=2;g<=k+1;g++){ for(int i=g;i<=n;i++){ for(int j=1;j<i;j++){ if(d[g%2][i]<=d[(g+1)%2][j]+(s[i]-s[j])*(s[n]-s[i])){ d[g%2][i]=d[(g+1)%2][j]+(s[i]-s[j])*(s[n]-s[i]); r[g][i]=(short)j; } } } } printf("%d\n",d[(k+1)%2][n]); f(k+1,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...
#Verdict Execution timeMemoryGrader output
Fetching results...