Submission #252699

#TimeUsernameProblemLanguageResultExecution timeMemory
252699islingrVudu (COCI15_vudu)C++14
140 / 140
249 ms15992 KiB
#include <bits/stdc++.h> #define rep(i, a, b) for (auto i = (a); i < (b); ++i) using namespace std; using ll = int64_t; const int N = 1 << 20; ll a[N], t[N]; ll solve(int l, int r) { if (r - l == 1) return 0; int m = (l + r) / 2; ll res = solve(l, m) + solve(m, r); int i = l, j = m, k = l; while (i < m && j < r) if (a[i] <= a[j]) t[k++] = a[i++], res += r - j; else t[k++] = a[j++]; while (i < m) t[k++] = a[i++]; while (j < r) t[k++] = a[j++]; rep(i, l, r) a[i] = t[i]; return res; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; rep(i, 0, n) cin >> a[i + 1]; int P; cin >> P; rep(i, 0, n) a[i + 1] -= P; rep(i, 0, n) a[i + 1] += a[i]; cout << solve(0, n + 1); }
#Verdict Execution timeMemoryGrader output
Fetching results...