Pagini recente » Cod sursa (job #3274596) | Cod sursa (job #2343907) | Cod sursa (job #2606291) | Cod sursa (job #2301505) | Cod sursa (job #2366363)
#include <fstream>
using namespace std;
int v[16001];
int main()
{
ifstream fin("transport.in");
ofstream fout("transport.out");
int i,N,K,st,dr=0,k2,sol,m,ox;
fin>>N>>K;
for(i=1;i<=N;i++){
fin>>v[i];
dr+=v[i];
}
st=v[1];
sol=1000000;
while(st<=dr){
m=(st+dr)/2;
ox=0;
k2=1;
for(i=1;i<=N;i++){
ox+=i;
if(ox>m){
ox=0;
ox+=i;
k2++;
}
}
if(k2<=K && m<sol){
dr=m-1;
sol=m;
}
else
st=m+1;
}
fout<<sol-1;
return 0;
}