Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include <cstdio>
  2.  
  3. int n, lefta[1000005];
  4.  
  5. bool check( int money)
  6. {
  7.     int brother=0, sum=0;
  8.     for (int i=0; i<n && brother<3; i++)
  9.         if (sum + lefta[i] <= money) sum += lefta[i];
  10.         else
  11.         {
  12.             brother++;
  13.             sum=lefta[i];
  14.         }
  15.     if (brother==3) return false;
  16.     else return true;
  17. }
  18.  
  19. int main()
  20. {
  21.     freopen("share.in","r",stdin);
  22.     freopen("share.out","w",stdout);
  23.     scanf("%d",&n);
  24.     for (int i=0; i<n; i++) scanf("%d",&lefta[i]);
  25.     int beg = 0, end=1e9, mid;
  26.     while (beg < end)
  27.     {
  28.         mid = (beg+end)/2;
  29.         if (check(mid)) end = mid;
  30.         else beg = mid+1;
  31.     }
  32.     printf("%d",beg);
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement