Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define F first
- #define S second
- #define mp make_pair
- #define pb push_back
- #define loop(i,x,y) for(int i=x;i<=y;i++)
- using namespace std;
- typedef long long ll;
- const int N = 2e5 + 9;
- const int MOD = 1e9 + 7;
- const ll INF = LLONG_MAX;
- int pre[N], n;
- int get (int i) {
- int res = 0;
- for (; i > 0; i -= i & (-i))
- res += pre[i];
- return res;
- }
- void upd (int i) {
- for (; i <= n; i += (i & -i))
- pre[i]++;
- return;
- }
- void solve () {
- cin >> n;
- int res = 0;
- for (int i = 1; i <= n; i++) {
- int x;
- scanf ("%d", &x);
- x += get (n - (x + 1) + 1);
- res += x - i;
- upd (n - x + 1);
- }
- printf ("%d\n", res);
- return;
- }
- int main () {
- int t = 1;
- //cin >> t;
- while (t--)
- solve ();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement