社区讨论

95pts WA on #18 求 hack

P12013[Ynoi April Fool's Round 2025] 牢夸参与者 3已保存回复 4

讨论操作

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

当前回复
4 条
当前快照
1 份
快照标识符
@mkqms6mx
此快照首次捕获于
2026/01/23 16:40
4 周前
此快照最后确认于
2026/02/11 02:32
上周
查看原帖
CPP
#include <bits/stdc++.h> 
using namespace std;
const int N = 1e6 + 5;
#define int long long
int a[N];
struct segtree {
	int tree[4 * N], tag[4 * N];
	void pushup(int x) { tree[x] = max(tree[x*2], tree[x*2+1]); }
	void pushdown(int x, int l, int r) {
		int mid = (l + r) >> 1;
		tag[x*2] += tag[x]; tag[x*2+1] += tag[x];
		tree[x*2] += tag[x];
		tree[x*2+1] += tag[x];
		tag[x] = 0; 
	} void update(int x, int l, int r, int L, int R, int y) {
		if(L > r || R < l) return ;
		if(L <= l && r <= R) {
			tree[x] += y;
			tag[x] += y; return ;
		} pushdown(x, l, r); int mid = (l + r) >> 1;
		update(x*2, l, mid, L, R, y); update(x*2+1, mid+1, r, L, R, y);
		pushup(x);
	} int query(int x, int l, int r, int L, int R) {
		if(L > r || R < l) return -1e6;
		if(L <= l && r <= R) return tree[x];
		pushdown(x, l, r); int mid = (l + r) >> 1;
		return max(query(x*2, l, mid, L, R), query(x*2+1, mid+1, r, L, R));
	}
} seg[3];
signed main() {
	int n, m; cin >> n >> m;
	for(int i = 1;i <= n;i++) cin >> a[i];
	for(int i = 1;i <= n;i++)
		seg[1].update(1, 1, n, i, i, a[i] + a[i+1]),
		seg[2].update(1, 1, n, i, i, a[i] + a[i+1] + a[i+2]);
	for(int i = 1;i <= m;i++) {
		int opt, l, r, k; cin >> opt >> l >> r;
		if(opt == 1) {
			cin >> k;
			seg[1].update(1, 1, n, l, r, k);
			seg[1].update(1, 1, n, max(l - 1, 1ll), max(r - 1, 1ll), k);
			seg[2].update(1, 1, n, l, r, k);
			seg[2].update(1, 1, n, max(l - 1, 1ll), max(r - 1, 1ll), k);
			seg[2].update(1, 1, n, max(l - 2, 1ll), max(r - 2, 1ll), k);
		} else {
			int x = seg[1].query(1, 1, n, l, r - 1);
			int y = (l + 1 < r ? seg[2].query(1, 1, n, l, r - 2) : -1e6);
			if((3 * x) > (2 * y)) {
				int z = abs(__gcd(x, 2ll));
				cout << x / z << "/" << 2 / z << endl;
			} else {
				int z = abs(__gcd(y, 3ll));
				cout << y / z << "/" << 3 / z << endl;
			}
		}
	}
	return 0;
}

回复

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

正在加载回复...