Pagini recente » Rating Cota Calin (speedylawl1) | Istoria paginii runda/bv_11_12/clasament | Cod sursa (job #2805697) | Rating Bona si Iovanesc (bonasiiovanesc) | Cod sursa (job #2257027)
#include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
int n,k,t[16005];
int teszt(int m)
{
int f=k,i=0,sz=0;
while(i<n && f!=0)
{
if(sz+t[i]<=m)sz += t[i];
else
{
sz=0;
f--;
sz += t[i];
}
i++;
}
if(f==0)return 1;
else return 0;
}
int binker(int a, int b, int x)
{ int k=(a+b)/2;
if(a==b)return a;
else if(teszt(k))return binker(k+1,b,x);
else return binker(a,k,x);
}
int main()
{
int i;
ifstream be("transport.in");
be>>n>>k;
be>>t[0];
int xmax=t[0],xosz=t[0];
for( i=1;i<n;i++)
{
be>>t[i];
if(xmax<t[i])xmax=t[i];
xosz +=t[i];
}
ofstream ki("transport.out");
ki <<binker(xmax,xosz,(xmax+xosz)/2);
// for( i=0;i<n;i++)cout <<t[i]<<' ';
return 0;
}