Pagini recente » Cod sursa (job #990345) | Cod sursa (job #1873142) | Cod sursa (job #3153390) | Cod sursa (job #2422768) | Cod sursa (job #2076603)
#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<<28;
while(pas!=0)
{
if(r+pas<=n&&v[r+pas]-v[i]<=x)
r+=pas;
pas/=2;
}
return r;
}
int main()
{
ifstream fin("transport.in") ;
ofstream fout("transport.out");
int k;
fin>>n>>k;
for(int i=1; i<=n; i++)
{
fin>>v[i];
v[i]+=v[i-1];
}
int s=v[n]/n+1,j,d=16000;
while(d>k)
{
d=0;
for(int i=1; i<=n; i++)
{
j=caut_bin(i,s);
if(j==i)
{
s++;
i=1;
}
else
{
i=j-1;
d++;
}
}
}
fout<<s;
return 0;
}