Pagini recente » Cod sursa (job #444971) | Cod sursa (job #2255365) | Cod sursa (job #443311) | Cod sursa (job #3250486) | Cod sursa (job #2977833)
#include <iostream>
#include <fstream>
using namespace std;
unsigned long long ls;
unsigned int li,cnt,i,aux,n,k,tr=1,c,m,sol;
int main()
{
ifstream f("transport.in");
f>>n>>k;
unsigned short int v[n];
while(f>>aux)
{
v[i++]=aux;
if(aux>li)
li=aux;
ls=ls+aux;
}
f.close();
while(li<=ls)
{tr=1;
c=0;
m=(li+ls)/2;
for(i=0;i<n;i++)
{
if(c+v[i]>m)
{
tr++;
c=v[i];
}
else
c=c+v[i];
}
if(tr>k)
li=m+1;
else
{
sol=m;
ls=m-1;
}
}
ofstream g("transport.out");
g<<sol;
g.close();
return 0;
}