Pagini recente » Cod sursa (job #1058441) | Statistici Vlad Vasiu (vasiuvlad) | Cod sursa (job #1492302) | Cod sursa (job #2284589) | Cod sursa (job #2079593)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int N=16001;
int n;
int v[N];
int caut_bin( int i, int x)
{
int pas, r=i;
pas=1<<13;
while(pas!=0)
{
if(r+pas<=n&&v[r+pas]-v[i-1]<=x)
r+=pas;
pas/=2;
}
return r;
}
int main()
{
ifstream fin("transport.in") ;
ofstream fout("transport.out");
int k,maxim=0;
fin>>n>>k;
for(int i=1; i<=n; i++)
{
fin>>v[i];
if(maxim<v[i]) maxim=v[i];
v[i]+=v[i-1];
}
int s=(v[n]/k),d=0;
if(s<maxim)
s=maxim;
for(int i=1; i<=n; i++)
{
i=caut_bin(i,s);
d++;
if(d>k)
{
i=0;
s++;
d=0;
}
}
fout<<s;
return 0;
}