Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <string>#include <algorithm>using namespace std;typedef long long LL;const int N =1e5+7;int arr[N], tmp[N];LL mergesort(int l, int r){if(l >= r) return 0;int mid = l + r >> 1;LL res = mergesort(l, mid) + mergesort(mid+1, r);int k = 0, i = l, j = mid + 1;while(i <= mid && j <= r){if(arr[i] <= arr[j]) tmp[k++] = arr[i++];else{tmp[k++] = arr[j++];res += mid - i + 1;}}while(i <= mid) tmp[k++] = arr[i++];while(j <= r) tmp[k++] = arr[j++];for(int i = l, j = 0; i <= r; i++, j++){arr[i] = tmp[j];}return res;}int main(){int n;scanf("%d", &n);for(int i = 0;i < n; i++){