| 比赛 | 
    2025.5.5 | 
    评测结果 | 
    WWWWWWWWWW | 
    | 题目名称 | 
    愈加善良的希望 | 
    最终得分 | 
    0 | 
    | 用户昵称 | 
    李奇文 | 
    运行时间 | 
    4.304 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    4.14 MiB  | 
    | 提交时间 | 
    2025-05-05 11:09:43 | 
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n;
int a[50004],sum[50004];
int q;
struct nmode{
	int op,l,r,k;
}u[50004];
bool cmp(int c,int b){
	return c>b;
}
int main(){
	freopen("hod.in","r",stdin);
	freopen("hod.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	cin>>q;
	int sum=0;
	for(int i=1;i<=q;i++){
		cin>>u[i].op>>u[i].l>>u[i].r;
		if(u[i].l==1&&u[i].r==n) sum++;
		if(u[i].op==0){
			cin>>u[i].k;
		}
	}
	if(sum==q){
		sort(a+1,a+1+n,cmp);
		int lz=0;
		for(int i=1;i<=q;i++){
			int m=0;
			if(u[i].op==0){
				lz+=u[i].k;
			}else{
				for(int i=1;i<=n;i++){
					a[i]+=lz;
					if(a[i]>=0){
						m+=a[i];	
					}
				}
				cout<<m<<endl;				
			}
		}
	}else{
		for(int i=1;i<=q;i++){
			if(u[i].op==0){
				for(int j=u[i].l;j<=u[i].r;j++){
					a[j]+=u[i].k;
				}
			}else{
				int su=0;
				sort(a+1,a+1,cmp);
				for(int i=1;i<=u[i].r;i++){
					if(a[i]>=0){
						su+=a[i];
					}else{
						su+=a[i];
						if(i>=u[i].l){	
							break;
						}else{
							
						}
					}
				}
				cout<<su<<endl;
			}
		}
	}
	return 0;
}