Advertisement
Josif_tepe

Untitled

Jun 2nd, 2021
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int prefix_sum[100001];
  5. int suma(int i, int j) {
  6.     if(i == 0) {
  7.         return prefix_sum[j];
  8.     }
  9.     return prefix_sum[j] - prefix_sum[i - 1];
  10. }
  11. int main()
  12. {
  13.     int n, m;
  14.     cin >> n >> m;
  15.     int niza[n];
  16.     int sum = 0;
  17.     for(int i = 0; i < n; i++) {
  18.         cin >> niza[i];
  19.         sum += niza[i];
  20.         prefix_sum[i] = sum;
  21.     }
  22.     int rezult = 0;
  23.     for(int i = 0; i < n; i++) {
  24.         int S = i + 1;
  25.         int E = n - 1;
  26.         while(S <= E) {
  27.             int middle = (S + E) / 2;
  28.             sum = suma(i, middle);
  29.             if(sum <= m) {
  30.                 if(rezult < middle - i + 1) {
  31.                     rezult = middle - i + 1;
  32.                 }
  33.                 S = middle + 1;
  34.             }
  35.             else {
  36.                 E = middle - 1;
  37.             }
  38.         }
  39.     }
  40.     cout << rezult << endl;
  41.     return 0;
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement