Pagini recente » Cod sursa (job #1210626) | Cod sursa (job #2949022) | Cod sursa (job #3277426) | Cod sursa (job #2461288) | Cod sursa (job #2213321)
#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 main() {
int n, i, t, r = 0, pas = 1 << 19;
FILE *fin, *fout;
fin = fopen("transport.in", "r");
fout = fopen("transport.out", "w");
fscanf(fin, "%d%d", &n, &t);
int v[n];
for (i = 0; i < n; i++) {
fscanf(fin, "%d", &v[i]);
}
while (pas != 0) {
if (nrtrans(v, n, r + pas) > t) {
r += pas;
}
pas /= 2;
}
r++;
fprintf(fout, "%d", r);
fclose(fin);
fclose(fout);
return 0;
}