为啥会RE。。。求助中
查看原帖
为啥会RE。。。求助中
745442
BensonChen楼主2023/10/2 10:48

代码: 浅显易懂。。。

#include <bits/stdc++.h>

using namespace std;

struct xll{
	long long begin,end;
};
stack<xll> s;

long long money(long long k){
	long long sum=0;
	xll c=s.top();
	long long a=c.begin,b=c.end;
	long long num=b-a+1;
	if(k<num){
		c.end-=k;
		s.pop();
		s.push(c);
		long long n=c.end+1;
		sum=((n+b)*k/2);
	}else{
		sum+=((a+b)*num/2);
		k-=num;
		s.pop();
		sum+=money(k);
	}
	return sum;
}

int main(){
	long long n;
	cin>>n;
	for (int i=1;i<=n;i++){
		long long m;
		cin>>m;
		if(m==1){
			xll a;
			cin>>a.begin>>a.end;
			s.push(a);
		}else{
			long long k;
			cin>>k;
			cout<<money(k)<<"\n";
		}
	}
	return 0;
}

65分,剩下的RE,求助。。。

2023/10/2 10:48
加载中...