Pagini recente » Cod sursa (job #918675) | Cod sursa (job #1281699) | Cod sursa (job #2105546) | Cod sursa (job #1772527) | Cod sursa (job #1453358)
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int i,v[20000],n,k,j,a,maxi,mini=160000,ok,t,c;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>v[i];
maxi+=v[i];
mini=min(mini,v[i]);
}
while(maxi!=mini)
{
a=maxi+mini;
a/=2;
t=0;
c=a;
for(i=1;i<=n;i++)
{
if(v[i]>c)
{
t++;
c=a-v[i];
}
else
if(v[i]<c)
c-=v[i];
else
t++,c=a;
}
if(c!=a)
t++;
if(t>k)
mini=a+1;
else
maxi=a;
}
fout<<mini;
return 0;
}