Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/saltysalt | Cod sursa (job #210846) | Monitorul de evaluare | Cod sursa (job #1973025)
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int n,k,s,i,v[16005],p,u,m,j;
int transport(int m)
{
int s=0,j=1;
for(i=1;i<=n&&j<=k;i++)
{
if(s+v[i]<=m)
{
s=s+v[i];
}
else
{
if(s!=0)
{
s=0;
j++;
i--;
}
else return 0;
}
}
if(i<=n||j>k) return 0;
else return 1;
}
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
f>>v[i];
s=s+v[i];
}
p=1;
u=s;
while(p<=u)
{
m=(u+p)/2;
if(transport(m))
{
u=m-1;
}
else p=m+1;
}
fout<<u+1;
return 0;