class Solution { public: const int P = 1000000007; int merge(vector<int> &data, int l, int r){ //y总的归并排序 if(l >= r) return 0; //一个数 直接返回 int mid = (l + r) >> 1; int res = merge(data, l, mid) + merge(data, mid + 1, r); //两个子区间内部先找 int i = l , j = mid + 1; vector<int> temp; //记录当前...