Pagini recente » Rating Bugeac Mihai Serban (Mihaibugeak) | Cod sursa (job #2323276) | Cod sursa (job #276134) | Cod sursa (job #1819125) | Cod sursa (job #1767623)
#include <iostream>
#include <fstream>
#define NMAX 16001
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[NMAX],N,K,c,i,nr,c1;
int verificare (int k)
{
int c1=0, nr=0;
for (i=0;i<N;i++)
{
// cout << 1;
c1+=v[i];
if (c1>k)
{
nr++;
c1=0;
i--;
}
else if (c1==k)
{
nr++; c1=0;
}
// cout<<nr;
}
if (c1>0) nr++;
if (nr<=K)
return 1;
else return 0;
}
int main()
{ int s=0;
in>>N;
in>>K;
for (i=0;i<N;i++)
{in>>v[i]; s+=v[i];
if (v[i]>c)
c=v[i];
}
int li=c, ls=s,m;
while (li<=ls)
{
m=(li+ls)/2;
if (verificare(m)) ls=m-1;
else li=m+1;
}
out<<m;
return 0;
}