Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- typedef long long ll;
- typedef unsigned long long ull;
- #define vi vector<int>
- #define vll vector<ll>
- #define tests int t; cin >> t; while(t--)
- #define pb push_back
- using namespace std;
- int n, k;
- vll v;
- bool good(ll m) {
- int i = 0, c = 0;
- while(i < n) {
- int j = i+1;
- ll s = v[i];
- if(s > m) return false;
- while(j < n && s+v[j] <= m) s += v[j++];
- i = j; c++;
- }
- return c <= k;
- }
- int main() {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL); cout.tie(NULL);
- cin >> n >> k;
- v.resize(n);
- for(ll& i : v)
- cin >> i;
- ll l = 0, r = 1e15;
- while(l <= r) {
- ll m = l+(r-l)/2;
- if(good(m)) r = m-1;
- else l = m+1;
- }
- cout << l << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement