清纯代码求调
查看原帖
清纯代码求调
487539
LCat90楼主2023/8/19 19:22

WA:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int n, sum, lst, lsti;
map <int, int> mp;
map < pair <int, int>, int > f;
map <int, int> vis;
signed main() {
//	freopen("sb.in", "r", stdin);
//	freopen("sb.out", "w", stdout);
	cin >> n;
//	for(int i = 1;i <= 1e5; ++i) 
	for(int i = 1, op, k, b;i <= n; ++i) {
		sum = max(0, sum);
		scanf("%d %d %d", &op, &k, &b);
		if(lst and lst != k and vis[k] != lst) vis[k] = lst, mp[k] = 0, f[{k, b}] = 0;
		if(op == 1) {
			sum ++;
			mp[k] ++; f[{k, b}] ++; 
		}
		else if(op == 2) {
			if(!mp[k]) mp[k] = 0;
//			cout << mp[k] << " " << sum << "\n";
			printf("%d\n", sum - max(0, mp[k]));
		}
		else {
			if(!mp[k]) mp[k] = 0; 
			if(!f[{k, b}]) f[{k, b}] = 0;
			sum = mp[k] - f[{k, b}];
			mp[k] -= f[{k, b}]; f[{k, b}] = 0;
			lst = k, lsti = b; vis[k] = lst;
		}
//		cout << sum << " ";
	}
	return 0;
}
2023/8/19 19:22
加载中...