Pagini recente » Clasament dupa rating | Cod sursa (job #270940) | Cod sursa (job #1288883) | Cod sursa (job #115964) | Cod sursa (job #2040964)
#include <bits/stdc++.h>
using namespace std;
int n,k,a[16005];
ifstream fin("transport.in");
ofstream fout("transport.out");
void Citire()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>a[i];
}
}
bool Verific(int x)
{
int s=0,nr=0;
for(int i=1;i<=n;i++)
{
if(a[i]>x) return false;
if(s+a[i]<=x) s=s+a[i];
else {s=a[i];nr++;}
}
return nr<k;
}
int Caut_Binar()
{
int st=1,mij,sol=1600*1600;
int fn=16000*1600;
while(st<=fn)
{
mij=(st+fn)/2;
if(Verific(mij)) {sol=mij;fn=mij-1;}
else st=mij+1;
}
return sol;
}
int main()
{
Citire();
fout<<Caut_Binar()<<"\n";
return 0;
}