Cod sursa(job #2924396)
Utilizator | Data | 1 octombrie 2022 17:36:10 | |
---|---|---|---|
Problema | Transport | Scor | 20 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout ("transport.out");
int N, v[30],k,c=8;
int tr (int c) {
int sum = 0, dr=0;
for(int i=1; i<=N; i++) {
while (sum+v[i]<=c) {
sum+=v[i];
i++;
}
i--;
dr++;
sum=0;
}
return dr;
}
int main (){
int s=0, mx=0;
fin>>N>>k;
for(int i=1; i<=N; i++) {
fin>>v[i];
s+=v[i];
if (v[i] > mx)
mx = v[i];
}
for(int i=mx; i<=s; i++)
if (tr(i)<=k) {
fout<<i;
i=s+1;
}
fin.close();
fout.close();
return 0;
}