class Solution {
public:
  /*确实是一个不错的解法。*/
    int InversePairs(vector<int>& nums) {
        vector<int>a;
        int ans = 0;
        for (int i = nums.size() - 1; i >= 0; i--) {
        auto it = upper_bound(a.begin(),a.end(),nums[i]); 
        int temp_ans = it - a.begin();
        a.insert(it, nums[i]);
        ans = (ans + temp_ans) % 1000000007;
    }
    return ans;
    }
};