50分代码求助
查看原帖
50分代码求助
649304
封禁用户楼主2022/10/6 14:15

50分记录

#include<bits/stdc++.h>
using namespace std;
long long c,n,o,l,r,a,b,k,x,asd,as;
struct asd{
	long long a,b;
}s[100009];
int main()
{
	cin>>n;
	for(int i=1;i<=n;++i)
	{
		cin>>o;
		if(o==1)
		{
			cin>>a>>b;
			s[++x].a=a,s[x].b=b;
		}
		else
		{
			cin>>k;
			while(k)
			{
				l=s[x].a,r=s[x].b,as=r-l+1,asd=0;
				if(as<=k)
				asd+=as*(l+r)/2,k-=as,--x;
				else
				{
					asd+=k*(r-k+r+1)/2;
					s[x].a=l,s[x].b=r-k,k=0;
				} 
			} 
			cout<<asd<<endl;
		}
	}
	return 0;
}



2022/10/6 14:15
加载中...