Cod sursa(job #928824)
Utilizator | Andrei Mazareanu mazaandrei | Data | 26 martie 2013 18:33:12 |
---|---|---|---|
Problema | Transport | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include<fstream>
using namespace std;
int n,k,a[16005],s,dim;
ifstream in("transport.in"); ofstream out("transport.out");
int main(){
in>>n>>k>>a[1]; dim=a[1];
for(int i=2;i<=n;++i) {in>>a[i]; if(a[i]>dim) dim=a[i];}
while(1){
int i=1,sum=0,cam=1;
while(cam<=k && i<=n){
if(a[i]+sum<=dim){ sum+=a[i];++i;}
else {++cam; sum=0;}
}
if(i==n+1){out<<dim<<'\n'; return 0;}
else ++dim;
}
}