#include<bits/stdc++.h> usingnamespace std; #define int long long
voidsolve(){ vector dx = {0, 1, 1, 2, 2, -1, -1, -2, -2}; vector dy = {0, 2, -2, 1, -1, 2, -2, 1, -1}; int n, m; cin >> n >> m; vector<pair<int, int>> a(m); set<pair<int, int>> st; for (int i = 0; i < m; i++) { cin >> a[i].first >> a[i].second; st.insert({a[i].first, a[i].second}); } for (int i = 0; i < m; i++) { int x = a[i].first, y = a[i].second; for (int j = 0; j < 9; j++) { int fx = x + dx[j]; int fy = y + dy[j]; if (1 <= fx && fx <= n && 1 <= fy && fy <= n) { st.insert({fx, fy}); } } } cout << n * n - st.size() << "\n"; }
signedmain(){ ios::sync_with_stdio(false); cin.tie(0); int t = 1; // cin >> t; while (t--) { solve(); } return0; }
voidsolve(){ int n, m; cin >> n >> m; vector<int> f(m, m); for (int i = 0; i < n; i++) { int l, r; cin >> l >> r; l--, r--; f[l] = min(f[l], r); } for (int i = m - 2; i >= 0; i--) { f[i] = min(f[i], f[i + 1]); } int ans = 0; for (int i = 0; i < m; i++) { ans += f[i] - i; } cout << ans << "\n"; }
#include<bits/stdc++.h> usingnamespace std; #define int long long
voidsolve(){ int n, m; cin >> n >> m; set<int> R, C, D, E; for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; R.insert(a); C.insert(b); D.insert(a - b); E.insert(a + b); } int ans = n * n; ans -= n * R.size(); ans -= n * C.size(); for (auto d : D) { ans -= n - abs(d); } for (auto e : E) { ans -= n - abs(n + 1 - e); } for (auto r : R) { set<array<int, 2>> s; for (auto c : C) { s.insert({r, c}); } for (auto d : D) { int c = r - d; if (1 <= c && c <= n) { s.insert({r, c}); } } for (auto e : E) { int c = e - r; if (1 <= c && c <= n) { s.insert({r, c}); } } ans += s.size(); } for (auto c : C) { set<array<int, 2>> s; for (auto d : D) { int r = c + d; if (1 <= r && r <= n) { s.insert({r, c}); } } for (auto e : E) { int r = e - c; if (1 <= r && r <= n) { s.insert({r, c}); } } ans += s.size(); } for (auto d : D) { set<array<int, 2>> s; for (auto e : E) { if ((d + e) % 2) { continue; } int r = (1LL * d + e) / 2; int c = (1LL * e - d) / 2; if (1 <= r && r <= n && 1 <= c && c <= n) { s.insert({r, c}); } } ans += s.size(); } cout << ans << "\n"; }
signedmain(){ ios::sync_with_stdio(false); cin.tie(0); int t = 1; // cin >> t; while (t--) { solve(); } return0; }