Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <stdio.h>using namespace std ;int N ;unsigned int array[100100] ;unsigned int temp[100100];long long mergeSort(int l, int r){//cout << "merge from " << l << " to " << r << endl ;if (l>=r){return 0;}int mid = (l+r)/2 ;long long a = mergeSort(l,mid) ;long long b =mergeSort(mid+1, r) ;//mergelong long c = 0 ;int tl = l ;int tr = mid+1 ;int nc = l ;while(tl<=mid && tr<=r){if(array[tl]>array[tr]){c += mid+1-tl ;temp[nc++] = array[tr++] ;}else{temp[nc++] = array[tl++] ;}}while(tl<=mid)