Cod sursa(job #407136)

Utilizator RoswenRus Alexandru Roswen Data 2 martie 2010 08:40:33
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
FILE *f=fopen("transport.in","r"), *g=fopen("transport.out","w");
int v[16050],st,n,k,i,k1,s,max,s1;

int main()
{
	fscanf(f, "%d%d", &n, &k);
	for(i=1;i<=n;i++)
	{
		fscanf(f,"%d", &v[i]);
		if(v[i]>max) max=v[i];
		s+=v[i];
	}
	float med=(float)s/n;
	if(med!=(int)med)
		med=(int)med;
	if(max>med)
		st=max;
	else st=med;
	
	s1=s, s=0;
	while(st<=s1)
	{	
		for(i=1;k1<=k && i<=n;i++)
		{
			s+=v[i];
			if(s+v[i+1]>st)
			{
				k1++;
				s=0;
			}
		}
		if(k1<k)
		{
			fprintf(g,"%d\n", st);
			return 0;
		}
		st++, k1=0, s=0;
	}
	
	return 0;	
}