Pagini recente » Cod sursa (job #2050741) | Cod sursa (job #16791) | Cod sursa (job #1698646) | Cod sursa (job #2579568) | Cod sursa (job #3166964)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int n, k, s,v[16001], i, st, dr, sum, aux, mini, mid;
void suma(int m){
for(i=1;i<=k;i++){
sum=0;
while(sum+v[aux]<=m && aux<=n){
sum+=v[aux];
aux++;
}
}
}
int main(){
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>v[i];
s+=v[i];
}
st=1;
dr=s;
while(st<=dr){
mid=(st+dr)/2;
aux=1;
suma(mid);
if(aux>n){
dr=mid-1;
mini=mid;
}else
st=mid+1;
}
fout<<mini;
}
/*
6 3
7
3
2
3
1
4
s=20
mini=8;
*/