Cod sursa(job #51926)

Utilizator MirageRobert Sandu Mirage Data 17 aprilie 2007 10:14:22
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<stdio.h>
int main () {
	int n,k,v[16000],i,max=-1,nr=16001,a;
	FILE *in=fopen("transport.in","r"), *out=fopen("transport.out","w");
	fscanf(in,"%d%d",&n,&k);
	for(i=0;i<n;i++){
		fscanf(in,"%d",&v[i]);
		if(v[i]>max)
			max=v[i];
	}
	while(nr>k){
		nr=0;
		a=0;
		for(i=0;i<n;i++){
			a+=v[i];
			if(a>max){
				a=v[i];
				nr++;
			}
		}
		if(a>0)
			nr++;
		max++;
	}
	fprintf(out,"%d\n",max-1);
	fclose(in);
	fclose(out);
	return 0;
}