Cod sursa(job #51926)
Utilizator | Robert 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;
}