比赛 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;
}