Pagini recente » Cod sursa (job #684313) | Cod sursa (job #3227076) | Cod sursa (job #278617) | Cod sursa (job #1792802) | Cod sursa (job #2074380)
#include <iostream>
#include <fstream>
using namespace std;
int v[16001],n,k;
bool test(int vol)
{
int j=0,i=1,s;
while(i<=n && v[i]<=vol)
{
s=0;
while(s+v[i]<=vol && i<=n)
{
s=s+v[i];
i++;
}
j++;
}
if(j<=k && i==n+1)
return true;
else
return false;
}
const int L=25;
int main()
{
int i,pas,r;
ifstream f("transport.in");
ofstream g("transport.out");
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
f.close();
pas=1<<L;
r=0;
while(pas!=0)
{
if(!test(r+pas))
r=r+pas;
pas=pas/2;
}
r++;
g<<r;
g.close();
return 0;
}