Cod sursa(job #346655)

Utilizator Andrei200Andrei200 Andrei200 Data 8 septembrie 2009 21:04:59
Problema Ferma Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>

#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];

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);
	for (i=1;i<=N;++i)
		 scanf("%d", &P[i]);
	
	for (i=1;i<=K;++i)
		 for (j=1;j<=N;++j)
		 {
			 sum=0;
			 for (k=1;k<j;++k)
			 {
				 sum+=P[k];
			     A[i][j]=max(A[i][j-1],A[i-1][k]+sum);
			 }
		 }
		 
		 
	/*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;
}