Advertisement
Josif_tepe

Untitled

Apr 7th, 2024
646
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. const int maxn = 2e5 + 10;
  5. typedef long long ll;
  6. ll pref_sum[maxn];
  7.  
  8. ll query(int i, int j) {
  9.     if(i == 0) {
  10.         return pref_sum[j];
  11.     }
  12.     return pref_sum[j] - pref_sum[i - 1];
  13. }
  14. int main() {
  15.     ios_base::sync_with_stdio(false);
  16.     int n;
  17.     ll m;
  18.     cin >> n >> m;
  19.    
  20.     vector<ll> v(n);
  21.     ll sum = 0;
  22.     for(int i = 0; i < n; i++) {
  23.         cin >> v[i];
  24.         sum += v[i];
  25.         pref_sum[i] = sum;
  26.     }
  27.     int res = 0;
  28.     for(int i = 0; i < n; i++) {
  29.         int L = i, R = n - 1;
  30.         int j = 0;
  31.         while(L <= R) {
  32.             int mid = (L + R) / 2;
  33.             if(query(i, mid) <= m) {
  34.                 L = mid + 1;
  35.                 j = max(j, mid);
  36.             }
  37.             else {
  38.                 R = mid - 1;
  39.             }
  40.         }
  41.         res = max(res, j - i + 1);
  42.     }
  43.     cout << res << endl;
  44.     return 0;
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement