func_code_string: #include <bits/stdc++.h>   using namespace std;   int bit[200005];   void update(long long int x) {     while (x < 200005) {       bit[x] += 1;       if (x == 0) break;       x += x & (-x);     }   }   long long int query(long long int x) {     long long int ans = 0;     while (x >= 0) {       ans += bit[x];       if (x == 0) break;       x -= x & (-x);     }     return ans;   }   int main() {     long long int n, t;     cin >> n >> t;     vector<long long int> v(n);     for (long long int i = 0; i < n; i++) {       cin >> v[i];       if (i) v[i] += v[i - 1];     }     vector<long long int> v2 = v;     sort(v.begin(), v.end());     long long int ans = 0;     for (long long int i = (n - 1); i >= 0; i--) {       int pos = lower_bound(v.begin(), v.end(), v2[i] + t) - v.begin();       ans += query(pos - 1);       update(lower_bound(v.begin(), v.end(), v2[i]) - v.begin());     }     ans += query(lower_bound(v.begin(), v.end(), t) - v.begin() - 1);     cout << ans << endl;   }   