求调
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,sum,a[500100],q,k[500100],fk,km[500100],v[500100];
signed main(){
scanf("%lld%lld",&n,&q);fk=sqrt(n);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
k[i]=(i-1)/fk+1;
sum+=a[i];
v[i]=1;
km[k[i]]++;
}
while(q--){
char t;
int x,y;
cin>>t;
if(t=='Q'){
cout<<sum<<endl;
}else if(t=='C'){
scanf("%lld%lld",&x,&y);
if(v[x]){
a[x]-=y;
sum-=y;
}
}else if(t=='I'){
scanf("%lld%lld",&x,&y);
if(!v[x]){
km[k[x]]++;
v[x]=1;
}
sum+=(y-a[x]);
a[x]=y;
}else{
scanf("%lld",&x);
y=1;
while(x>km[y]){
x-=km[y];
y++;
}
for(int i=(y-1)*fk+1;i<=min(n,y*fk);i++){
if(v[i]){
if(x==1){
sum-=a[i];
km[k[i]]--;
v[i]=0;
a[i]=0;
break;
}else{
x--;
}
}
}
}
}
return 0;
}