fork download
  1. #include <bits/stdc++.h>
  2. #include<ext/pb_ds/assoc_container.hpp>
  3. #include<ext/pb_ds/tree_policy.hpp>
  4.  
  5. using namespace std;
  6. using namespace __gnu_pbds;
  7.  
  8. typedef tree<int , null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> OrderedSet;
  9. // find_by_order : element at index i
  10. // order_of_key : how many elements < A
  11.  
  12. #define int long long
  13.  
  14. void solve(int tc) {
  15. int n, k; cin >> n >> k;
  16. vector<int> a(n+1, 0);
  17. for (int i = 1; i <= n; i++) cin >> a[i];
  18. for (int i = 1; i <= n; i++) a[i] += a[i-1];
  19. OrderedSet os;
  20. int ans = 0;
  21. for (int r = 1; r <= n; r++) {
  22. os.insert(a[r-1] - k * (r-1));
  23. int tmp = a[r] - k*r;
  24. ans += os.order_of_key(tmp + 1);
  25. }
  26. cout << ans << '\n';
  27. }
  28.  
  29. signed main() {
  30. ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
  31. int t = 1;
  32. // cin >> t;
  33. for (int i = 1; i <= t; i++){
  34. solve(i);
  35. }
  36. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
0