Cod sursa(job #2276634)
Utilizator | Data | 4 noiembrie 2018 23:44:38 | |
---|---|---|---|
Problema | Transport | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.1 kb |
#include <fstream>
using namespace std;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
int n, k, v[16002], maxx, c, ok, z, s, i;
int main (){
fin>>n>>k;
for(i=1; i<=n; i++){
fin>>v[i];
if(v[i] > maxx)
maxx=v[i];
}
c=maxx;
while(ok==0){
z=k;
i=1;
while(z!=0){
for(i=1; i<=n; i++){
s=s + v[i];
if(s<=c && s + v[i+1] > c && i+1 <=n){
s=0;
z--;
}else if(s<=c && i+1 > n){
s=0;
z--;
break;
}
if(z==0)
break;
}
break;
}
if(i==n){
fout<<c;
return 0;
}
c++;
}
return 0;
}