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