RE了呜呜,根本找不到问题
查看原帖
RE了呜呜,根本找不到问题
1374966
__Princess__楼主2024/11/4 22:50
#include<bits/stdc++.h>
using namespace std;
const int N=5010;
int lt=0,rt=5000;
int T[4*N],n,m;

void tree_insert(int pos,int l,int r,int data,int a)
{
//	T[pos]=max(T[pos],pos);
	if(a==1)T[pos]+=data;
//	T[pos]++;
	if(l==data && data==r)return;
	int mid=(l+r)/2;
	if(data<=mid)
	{
		tree_insert(2*pos,l,mid,data,a);
	}
	else
	{
		tree_insert(2*pos+1,mid+1,r,data,a);
	}
}

int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>T[i];
	}
	for(int j=1;j<=m;j++)
	{
		int a;
		cin>>a>>lt>>rt;
		if(a==1)
		{
			int k;
			cin>>k;
			tree_insert(lt,lt,rt,k,a);
		}
		if(a==2)
		{
			int cnt=0;
			for(int i=lt;i<=rt;i++)
			{
				cnt+=T[i];
			}
			cout<<cnt;
		}
	}
}
2024/11/4 22:50
加载中...