Pagini recente » Cod sursa (job #333814) | Cod sursa (job #1781879) | Cod sursa (job #2017208) | Cod sursa (job #2508266) | Cod sursa (job #346656)
Cod sursa(job #346656)
#include <cstdio>
#include <cstring>
#define file_in "ferma.in"
#define file_out "ferma.out"
#define Nmax 10010
#define Kmax 1001
int N,K;
int i,j,k,sum;
int A[Kmax][Nmax];
int P[Nmax];
int S[Nmax];
inline int max(int a, int b) { return a>b?a:b; }
int main()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d %d", &N, &K);
S[0]=0;
for (i=1;i<=N;++i)
{
scanf("%d", &P[i]);
S[i]=S[i-1]+P[i];
}
memset(A,0,sizeof(A));
for (i=1;i<=K;++i)
for (j=1;j<=N;++j)
for (k=1;k<j;++k)
A[i][j]=max(A[i][j-1],A[i-1][k]+S[j]-S[k]);
/*for (i=1;i<=K;++i)
{
for (j=1;j<=N;++j)
printf("%d ", A[i][j]);
printf("\n");
}*/
printf("%d", A[K][N]);
fclose(stdin);
fclose(stdout);
return 0;
}