Pagini recente » Cod sursa (job #1690232) | Cod sursa (job #1666137) | Profil StarGold2 | Cod sursa (job #2290189) | Cod sursa (job #1453367)
#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=max(mini,v[i]);
}
while(maxi!=mini)
{
a=maxi+mini;
a/=2;
t=0;
c=a;int nrTrans;int aux;
for( i = 1 , aux = 0 , nrTrans = 1 ; i <= n ; ++i )
{
if( aux + v[ i ] > a )
{
aux = v[ i ];
++nrTrans;
}
else
{
aux += v[ i ];
}
}t=nrTrans;
if(t>k)
mini=a+1;
else
maxi=a;
}
fout<<maxi;
return 0;
}