#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef vector VI; typedef pair PII; #define REP(i,s,t) for(int i=(s);i<(t);i++) #define FILL(x,v) memset(x,v,sizeof(x)) const int INF = (int)1E9; #define MAXN 300005 int arr[MAXN]; #define MAXN 300005 int s[MAXN]; void add(int k, int v){ k++; for(;k> n; vector vals; REP(i,0,n) { cin >> arr[i]; vals.push_back(PII(arr[i], i)); } sort(vals.rbegin(), vals.rend()); int cnt = 0; ll ans = 0; for (auto &vp: vals) { int v = vp.first, p = vp.second; int lcnt = get(p - 1), rcnt = cnt - lcnt; add(p, 1); ans += min(lcnt, rcnt); cnt++; } cout << ans << endl; return 0; }