求助
查看原帖
求助
541553
wangshi楼主2021/12/5 13:57
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=1e5*5;
int a[N],b[N];
inline int read() {
    int x=0,f=1;
    char c=getchar();
    while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
    while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
    return x*f;
}
inline void write(int x) {
     if(x<0) putchar('-'),x=-x;
     if(x>9) write(x/10);
     putchar(x%10+'0');
}
int main()
{
	int n,m,f,x,y,k;
	n=read(),m=read(); 
	for(register int i=1;i<=n;i++)
	{
		a[i]=read();
	}
	for(register int i=1;i<=m;i++)
	{
		f=read();
		if(f==1)
		{
			x=read(),y=read(),k=read();
			b[x]+=k,b[y+1]-=k;
		}
		else
		{
			int add=0;
			x=read();
			for(register int j=1;j<=x;j++)
			{
				add+=b[j];
			}
			write(add+a[x]);
			printf("\n"); 
		}
	}
	return 0;
}

2021/12/5 13:57
加载中...