快死了,求条(悬棺)
  • 板块灌水区
  • 楼主Winalways
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/8 23:19
  • 上次更新2024/11/9 10:35:37
查看原帖
快死了,求条(悬棺)
1011587
Winalways楼主2024/11/8 23:19

题目

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5+10;
int a[N], t[N], tcnt[N], kp[N];

signed main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	int q, tmp = 0, kt = 0;
	cin >> q;
	int kcnt = 0;
	while (q -- ) {
		tmp++;
		int op, k, i;
		cin >> op;
		if (op == 1) {
			cin >> k;
			kt = tmp;
			kp[kcnt] = k;
			kcnt++;
		}
		if (op == 2) {
			cin >> i >> k;
			if (tcnt[i - 1] > kt || kt == 0) {
				a[i - 1] += k;
			} else {
				a[i - 1] = kp[kcnt - 1] + k;
				tcnt[i - 1] = tmp;
			}
		}
		if (op == 3) {
			cin >> i;
			if (tcnt[i - 1] > kt) {
				cout << a[i - 1] << endl;
			} else if (kt == 0) {
				cout << a[i - 1] << endl;
			} else {
				cout << kp[kcnt - 1] << endl;
				tcnt[i - 1] = tmp;
			}

		}

	}
	return 0;
}
2024/11/8 23:19
加载中...