#include #define MAX 100005 #define ll long long using namespace std; struct so { int vt, nw, old; }; so b[MAX]; int a[MAX],n; ll f[MAX]; ll kq; bool cmp(so x, so y) { return x.old0; x= x& (x-1)) kq+=f[x]; return kq; } void update(int x) { for (; x<= MAX; x+= x& (-1)*x) { f[x]++; } } int main() { cin >> n; for (int i=0; i> b[i].old; b[i].vt=i; a[i]=b[i].old; } sort(b,b+n, cmp); int dem=1; b[0].nw=1; for (int i=1; i=0; i--) { kq+=getBit(a[i]); update(a[i]+1); } cout<