Pagini recente » Cod sursa (job #2781612) | Cod sursa (job #881635) | Cod sursa (job #50579) | Cod sursa (job #2584432) | Cod sursa (job #2890310)
#include <bits/stdc++.h>
#define ll long long
#define INF 0x3F3F3F3F
using namespace std;
const string fisier = "transport";
ifstream fin (fisier + ".in");
ofstream fout (fisier + ".out");
const int N_MAX = 1e5 + 5;
int n , a[N_MAX] , k;
int solve (int x){
int cnt = 1 , sum = a[1];
for (int i=2; i<=n; i++){
sum += a[i];
if (sum > x){
sum = a[i];
cnt += 1;
}
}
return cnt;
}
int cb(){
int st = 1 , dr = 1e9 , ans = 1e9;
while (st <= dr){
int mij = (st + dr) / 2;
if (solve(mij) <= k){
dr = mij - 1;
ans = min(ans , mij);
}
else{
st = mij + 1;
}
}
return ans;
}
int main(){
ios_base::sync_with_stdio(false);
fin >> n >> k;
for (int i=1; i<=n; i++){
fin >> a[i];
}
fout << cb();
}