D题直接模拟
#include <bits/stdc++.h> int main() { std::ios::sync_with_stdio(0); std::cin.tie(0),std::cout.tie(0); int m, q, ans = 0; std::map<int,int> mp; std::cin >> m >> q; while(q--) { int op, num; std::cin >> op >> num; if (op == 1) { mp[num - 3]++; mp[num + 3]++; if (mp[num - 3] == 1 && num - 3 >= 1 && num - 3 <= m) ans++; if (mp[num + 3] == 1 && num + 3 >= 1 && num + 3 <= m) ans++; } else { mp[num - 3]--; mp[num + 3]--; if (mp[num - 3] == 0 && num - 3 >= 1 && num - 3 <= m) ans--; if (mp[num + 3] == 0 && num + 3 >= 1 && num + 3 <= m) ans--; } std::cout << ans << "\n"; } }