Iamtui1010

bai3truong.cpp

Sep 20th, 2022
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #include<algorithm>
  4.  
  5. #define long long long
  6. #define nln '\n'
  7.  
  8. using namespace std;
  9.  
  10. bool check(vector<long> a, long k, long m)
  11. {
  12.     long cnt = 1, s = 0;
  13.     for (auto i : a){
  14.         if (s+i <= m)
  15.             s +=i;
  16.         else{
  17.             cnt++;
  18.             s = i;
  19.         }
  20.         if (cnt > k)
  21.             return 0;
  22.     }
  23.     return 1;
  24. }
  25.  
  26. int main()
  27. {
  28.     cin.tie(0)->sync_with_stdio(0);
  29.     freopen("bai3truong.inp", "r", stdin);
  30.     long n, k;
  31.     cin >> n >> k;
  32.     vector<long> a(n);
  33.     long rig = 0;
  34.     for (auto &i : a){
  35.         cin >> i;
  36.         rig += i;
  37.     }
  38.  
  39.     long lef = *max_element(a.begin(), a.end()), res = -1;
  40.     while (lef <= rig){
  41.         long mid = (lef+rig)/2;
  42.         if (check(a, k, mid))
  43.             res = mid, rig = mid-1;
  44.         else
  45.             lef = mid+1;
  46.     }
  47.  
  48.     cout << res << nln;
  49.  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment