初学线段树,样例过了,但是WA 0pts
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+4;
ll e[N<<3];
inline ll read(){
register ll x=0,t=1;register char s=getchar();
while(s<'0'||s>'9'){if(s=='-') t=-1;s=getchar();}
while(s>='0'&&s<='9'){x=(x<<3)+(x<<1)+(s^48);s=getchar();}
return x*t;
}
int n,w;
char c;
void add(int nl,int nr,int p,int x,ll y){
if(nl>x||nr<x) return ;
if(nl==x&&nr==x)
{
e[p]+=y;
return ;
}
int mid=(nl+nr)>>1;
if(x<=mid)add(nl,mid,p<<1,x,y);
else add(mid+1,nr,p<<1|1,x,y);
e[p]=e[p<<1]+e[p<<1|1];
}
ll query(int l,int r,int nl,int nr,int p){
if(nl>r||nr<l) return 0;
if(nl>=l&&nr<=r) return e[p];
int mid=(nl+nr)>>1;
return query(l,r,l,mid,p<<1)+query(l,r,mid+1,r,p<<1|1);
}
signed main()
{
// freopen("P2068_1.in","r",stdin);
// freopen("texy.out","w",stdout);
int x,y;
n=read(),w=read();
while(w--)
{
c=getchar(),x=read(),y=read();
if(c=='x') add(1,n,1,x,y);
else if(c=='y') printf("%lld\n",query(x,y,1,n,1));
}
// fclose(stdin);
// fclose(stdout);
return 0;
}