Cod sursa(job #355792)

Utilizator DeadEyeNaiba Mihai Lucian DeadEye Data 12 octombrie 2009 10:52:30
Problema Transport Scor 10
Compilator cpp Status done
Runda cautb1 Marime 0.65 kb
#include<cstdio>
//TEST
int a[16001],b[16001];
/*
int tp(int q)
{
	for(i=1;i<=n;i++)
}
int caut(int p)
{
	int i,pas=(1<<30);
	for(i=0; pas; pas>>=1)
		if(tp(i+pas)<=p-1)
			i+=pas;
	if(tp(i+1)!=p)
		return -1;
	return i+1;
}
*/
int main()
{
	int n,k,i,max,x;
	freopen("transport.in","r",stdin);
	freopen("transport.out","w",stdout);
	scanf("%d%d",&n,&k);
	b[0]=0; a[0]=0;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		b[i]=b[i-1]+a[i];
	}
	max=0; x=0;
	for(i=1;i<=n;++i)
	{
		if(b[i]-b[x]>=(int(b[n]/k))+(b[n]%k>0))
		{
			if(b[i]-b[x]>max)
				max=b[i]-b[x];
		    x=i;
		}
	}
	printf("%d\n",max);
	//tp();
	return 0;
}