Pagini recente » Cod sursa (job #880897) | Cod sursa (job #297445) | Monitorul de evaluare | Cod sursa (job #3150672) | Cod sursa (job #784890)
Cod sursa(job #784890)
#include <fstream>
#include <iostream>
using namespace std;
int x[16000];
int bun(int n, int m)
{
int i,c=0,max=0;
for(i=1;i<n;i++)
{
if (max+x[i]<=m)
max+=x[i];
else
{
max=x[i];
c++;
}
}
if(max+x[n]>m)
c+=2;
else
c++;
return c;
}
int main ()
{
ifstream f("transport.in");
int n,i,k,max=0,m=0,c=0;
f>>n;
f>>k;
for(i=1;i<=n;i++)
{
f>>x[i];
m+=x[i];
if(x[i]>max)
max=x[i];
}
m/=k;
if(max>m)
m=max;
while (bun(n,m)>k)
m++;
ofstream g("transport.out");
g<<m;
return 0;
}