求助,为啥会RE啊
查看原帖
求助,为啥会RE啊
536809
秋天的小溪123楼主2022/12/27 23:02
#include<bits/stdc++.h>
using namespace std;
struct node{
	long long l,r,num;
}xs;
stack<node> a;
long long n;
void cx(long long s)
{
	long long ans=0;
	while(s>=a.top().num)
	{
		ans+=(a.top().r+a.top().l)*(a.top().num)/2;
		s-=a.top().num;
		a.pop();
	}
	if(s!=0)
	{
		ans+=(a.top().r+a.top().r-s+1)*s/2;
		xs.l=a.top().l;
		xs.r=a.top().r-s;
		xs.num=a.top().num-s;
		a.pop();
		a.push(xs);
	}
	cout<<ans<<"\n";
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>n;
	for(long long i=1;i<=n;i++)
	{
		long long x,l,r;
		cin>>x;
		if(x==1)
		{
			cin>>l>>r;
			xs.l=l;
			xs.r=r;
			xs.num=r-l+1;
			a.push(xs);
		}
		if(x==2)
		{
			cin>>l;
			cx(l);
		}
	}
	return 0;
}
2022/12/27 23:02
加载中...