Pagini recente » Cod sursa (job #1030519) | Cod sursa (job #1761448) | Cod sursa (job #2024954) | Cod sursa (job #2148372) | Cod sursa (job #1453346)
#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)
if(mini+1==maxi)
mini++;
else
mini=a;
else
maxi=a;
}
fout<<maxi;
return 0;
}