求救样例过不了
查看原帖
求救样例过不了
916380
yyjw14楼主2023/8/25 14:40
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int i,j,k,m,mm,n,x,y,z,mmm,ii;
int a[500005];
int lowbit(int v)
{
	return v&(-v);
}
void update(int l,int u)
{
	for(m=l;m<=i;)
	{
		a[m]+=u;
		m+=lowbit(m);
	}
	return;
}
int search(int yy)
{
	mm=0;
	for(n=yy;n>0;n-=lowbit(n))
	{
		mm+=a[n];
	}
	return mm;
}
int main()
{
	cin>>i>>j;
	for(k=1;k<=i;k++)
	{
		scanf("%d",&a[k]);
	}
	for(k=1;k<=j;k++)
	{
		cin>>x;
		if(x==1)
		{
			cin>>y>>z>>ii;
			update(y,ii);
			update(z+1,-ii);
			
		}
		else
		{
			cin>>y;
			z=search(y);
			cout<<z<<endl;
		}
	}
	return 0;
}

2023/8/25 14:40
加载中...