Pagini recente » Cod sursa (job #562086) | Cod sursa (job #1021216) | Clasament idulrundei | Cod sursa (job #560802) | Cod sursa (job #580642)
Cod sursa(job #580642)
#include<fstream>
using namespace std;
int n,k,s=0,t=0;
int v[16010],a[16010];
void citire()
{
int i;
ifstream in("transport.in");
in>>n>>k;
for (i=1;i<=n;i++)
{
in>>v[i];
s+=v[i];
a[i]=s;
t=max(t,v[i]);
}
}
int main()
{
int st,dr,mij,i;
citire();
st=t;
dr=s;
while (st<dr)
{
mij=(st+dr)/2;
s=0;
t=0;
for (i=1;i<=n&&t<k;i++)
{
s+=v[i];
if (s>mij)
{
t++;
s=v[i];
}
}
t++;
if (t<=k)
dr=mij-1;
else
st=mij+1;
}
ofstream out("transport.out");
out<<mij+1;
}