记录,但是不用差分数组,会直接爆;
具体代码:class Solution {
public:
bool static cmp(int a,int b){
return a>b;
}
int maxSumRangeQuery(vector<int>& nums, vector<vector<int>>& requests) {
int n=nums.size();
vector<int> cnt(n,0);
vector<int> v(n,0);
long long ret=0;
long long mod=pow(10,9)+7;
for(auto& vec:requests){
v[vec[0]]++;
if(vec[1]<n-1)
v[vec[1]+1]--;
}
cnt[0]=v[0];
for(int i=1;i<n;i++){
cnt[i]=cnt[i-1]+v[i];
}
sort(nums.begin(),nums.end(),cmp);
sort(cnt.begin(),cnt.end(),cmp);
for(int i=0;i<n;i++){
if(cnt[i]==0)
break;
ret+=(long long)cnt[i]*nums[i];
}
return ret%mod;
}
};
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)