Pagini recente » Cod sursa (job #1462917) | Cod sursa (job #1823564) | Cod sursa (job #426705) | Cod sursa (job #1780348) | Cod sursa (job #2197944)
#include <fstream>
#define maxim 16000*16000
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
long long suma;
int v[10001],n,kk;
int verificare(int k)
{
int numar=1,cant=0,i;
for(i=1;i<=n;i++)
{
cant+=v[i];
if(cant>k)
{
numar++;
cant=v[i];
}
}
if(numar<=kk)return 1;
return 0;
}
int i,k,p,u,m,rasp,maxx;
int main()
{
f>>n>>kk;
for(i=1;i<=n;i++)
{
f>>v[i];
if(v[i]>maxx)maxx=v[i];
}
p=1;
u=maxim;
while(p<=u)
{
m=(p+u)/2;
if(verificare(m)==1)
{
rasp=m;
u=m-1;
}
else p=m+1;
}
g<<rasp;
return 0;
}