Pagini recente » Cod sursa (job #871315) | Cod sursa (job #2609927) | concursusor | Cod sursa (job #3171933) | Cod sursa (job #2839993)
#define boostIO ios_base::sync_with_stdio(false); fin.tie(nullptr); fout.tie(nullptr);
#pragma GCC optimize ("Ofast")
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("transport.in");
ofstream fout ("transport.out");
const int MAX_N = 2e4;
int st, md, dr;
int n, k, v[MAX_N];
bool solve(int limit){
int need = 1, crt = 0;
for(int i=1; i<=n; i++){
if(crt + v[i] <= limit)
crt += v[i];
else{
need++;
crt = v[i];
}
}
if(need <= k)
return true;
else
return false;
}
int main (){
fin>>n>>k;
for(int i=1; i<=n; i++){
fin>>v[i];
dr += v[i];
st = max(st, v[i]);
}
while(st <= dr){
md = (dr - st) / 2 + st;
if(solve(md) == true)
dr = md - 1;
else
st = md + 1;
}
fout<<st;
return 0;
}