Submission #875332

#TimeUsernameProblemLanguageResultExecution timeMemory
875332serifefedartarVudu (COCI15_vudu)C++17
0 / 140
83 ms24140 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;

#define fast ios::sync_with_stdio(0);cin.tie(0);
#define s second
#define f first
typedef long long ll;
const ll MOD = 998244353;
const ll LOGN = 20; 
const ll MAXN = 5e5 + 100;
#define int long long

vector<int> A;
tree<pair<int,int>, null_type, less<pair<int,int>>, rb_tree_tag, tree_order_statistics_node_update> s;
int pref[MAXN];

signed main() {
	fast
	int N, P;
	cin >> N;

	A = vector<int>(N+1);
	for (int i = 1; i <= N; i++)
		cin >> A[i];
	for (int i = 1; i <= N; i++)
		pref[i] = pref[i-1] + A[i];
	cin >> P;

	int ans = 0;
	for (int i = 1; i <= N; i++) {
	    //cout << s.order_of_key(make_pair(P * i - pref[i] + P, i)) << "\n";
	    s.insert(make_pair(P * i - pref[i-1], i));
		ans += s.size() - s.order_of_key(make_pair(P * i - pref[i] + P, i));
	}
	cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...