Submission #26674

#TimeUsernameProblemLanguageResultExecution timeMemory
26674szawinisVudu (COCI15_vudu)C++14
140 / 140
289 ms38512 KiB
#include <bits/stdc++.h> using namespace std; const int MAX = (1e6)+1; int n, p, f[MAX]; long long ans, a[MAX]; vector<pair<long long, int> > b; void update(int i) { while(i <= n) f[i]++, i += i & -i; } int query(int i) { int ret = 0; while(i > 0) ret += f[i], i -= i & -i; return ret; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; cin >> p; ans = !p; b.emplace_back(0, 0); for(int i = 1; i <= n; i++) { a[i] += a[i-1] - p; b.emplace_back(a[i], i); } sort(b.begin(), b.end()); for(auto p: b) { if(p.second) { ans += query(p.second); update(p.second); } else update(1); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...