#include<stdio.h>
#include<string.h>
long long int c[200005],num[200005],ans,k;
char s[10];
int main(){
int n,x,y,i,j,C=0;
while(scanf("%d",&n)!=EOF && n){
memset(c,0,sizeof(c));
if(C) puts("");
printf("Case %d:\n",++C);
for(i=1;i<=n;i++){
scanf("%d",&x);
num[i]=x;
for(j=i;j<=n;j+=j&-j)
c[j]+=x;
}
while(scanf("%s",s)){
if(strcmp(s,"END")==0) break;
if(s[0]=='M'){
scanf("%d%d",&x,&y);
ans=0;
for(i=y;i>0;i-=i&-i)
ans+=c[i];
if(x>1){
for(i=x-1;i>0;i-=i&-i)
ans-=c[i];
}
printf("%lld\n",ans);
}
else{
scanf("%d%d",&x,&y);
k=y-num[x];
num[x]=y;
for(i=x;i<=n;i+=i&-i)
c[i]+=k;
}
}
}
}
沒有留言:
張貼留言