Pagini recente » Cod sursa (job #1291073) | Cod sursa (job #1006330) | Cod sursa (job #1144659) | Cod sursa (job #1428732) | Cod sursa (job #2213324)
#include <stdio.h>
#include <stdlib.h>
#define INF 16001
int nrtrans(int v[], int n, int c){
int i, nrt=0, cc=0;
for(i=0; i<n; i++){
if(v[i]>c)
return INF;
if(v[i]>cc){
nrt++;
cc=c;
}
cc-=v[i];
}
return nrt;
}
int v[16001];
int main(){
FILE *fin, *fout;
int n, t, i, r=0, pas=1<<27;
fin=fopen("transport.in", "r");
fscanf(fin, "%d%d", &n, &t);
for(i=0; i<n; i++)
fscanf(fin, "%d", &v[i]);
fclose(fin);
while(pas!=0){
if(nrtrans(v, n, r+pas)>t)
r+=pas;
pas/=2;
}
r++;
fout=fopen("transport.out", "w");
fprintf(fout, "%d", r);
fclose(fout);
return 0;
}