社区讨论

求助

P7870「Wdoi-4」兔已着陆参与者 5已保存回复 17

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
17 条
当前快照
1 份
快照标识符
@lo2w4ydf
此快照首次捕获于
2023/10/23 20:45
2 年前
此快照最后确认于
2023/10/23 20:45
2 年前
查看原帖
样例没过,求助
CPP
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
stack<int> st;
long long n;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> n;
	for (int i = 1; i <= n; i++) {
		long long x;
		cin >> x;
		if (x == 1) {
			long long l, r;
			cin >> l >> r;
			st.push(l);
			st.push(r);
		} else {
			long long y;
			cin >> y;
			long long ans = 0;
			while (1) {
				if (y <= 0)
					break;
				long long r = st.top();
				st.pop();
				long long l = st.top();
				st.pop();
				if (r - l + 1 <= y) {
					ans += (l + r) * (r - l + 1) / 2;
					y -= (r - l + 1);
				} else {
					ans += (l + y) * (y - l + 1) / 2;
					st.push(l);
					st.push(r - y);
					break;
				}
			}
			cout << ans << endl;
		}
	}
	return 0;
}

回复

17 条回复,欢迎继续交流。

正在加载回复...