Pagini recente » Cod sursa (job #2839577) | Cod sursa (job #2512486) | Cod sursa (job #643331) | Cod sursa (job #2840024) | Cod sursa (job #2853413)
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
typedef long long ll;
ll v[16000],n,k;
bool check(ll nr){
ll s = 0,cnt = 0;
for(ll i = 0;i < n;i++){
if(s + v[i] > nr){
s = v[i];
cnt++;
}else s+=v[i];
}
if(cnt > k)return 0;
return 1;
}
ll bs(ll l,ll r){
if(l == r){
return l;
}
ll mij = (l + r)/2;
if(check(mij)){
return bs(l,mij);
}else return bs(mij + 1,r);
}
int main()
{
ll maxx = -1e9,i;
fin>>n>>k;
for(i = 0;i < n;i++){
fin>>v[i];
maxx = max(maxx,v[i]);
}
fout<<bs(maxx,256000000);
return 0;
}