Pagini recente » Cod sursa (job #180046) | Cod sursa (job #588156) | Cod sursa (job #410408) | Cod sursa (job #404378) | Cod sursa (job #3279296)
#include<iostream>
#include<fstream>
using namespace std;
bool ok(int v[],int n,int m,int k){
int c=0,nr=0;
for(int i=0;i<n;i++){
if(c+v[i]<=m){c+=v[i];}
else{c=v[i];nr++;}
if(nr>k){return false;}
}
if(nr+1<=k){return true;}return false;
}
int main(){
ifstream in("transport.in");ofstream out("transport.out");
int n,k,m=0,s=0;in>>n>>k;int v[n];
for(int i=0;i<n;i++){in>>v[i];if(v[i]>m){m=v[i];}s+=v[i];}
for(;m<=s;m++){
if(ok(v,n,m,k)){out<<m;break;}
}
in.close();out.close();
return 0;
}