RT,代码如下:
#include<cstdio>
using namespace std;
int n,m,a[100005];
bool b[100005];
int ans;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=m;i++)
{
int opt;
scanf("%d",&opt);
if(opt==1)
{
int x,val;
scanf("%d%d",&x,&val);
a[x]=val-a[x];
b[x]=true;
}
else if(opt==2)
{
int l,r,mx=0,id;
scanf("%d%d",&l,&r);
for(int i=r;i>=l;i--)
{
if(b[i])
{
b[i]=false;
mx=a[i],id=i;
break;
}
if(a[i]>mx) mx=a[i],id=i;
}
ans+=mx,a[id]=0;
printf("%d\n",mx);
}
else
{
int l,r,val;
scanf("%d%d%d",&l,&r,&val);
for(int i=l;i<=r;i++) a[i]+=val;
}
}
if(ans<1000) printf("QAQ\n");
else if(ans>=1000&&ans<10000000) printf("Sakura\n");
else if(ans>=10000000) printf("ice\n");
return 0;
}