#include<bits/stdc++.h> usingnamespace std; int n, m; vector<vector<int>> a; int cnt[333333]; vector<int> v[333333]; intmain() { cin >> m >> n; for (int i = 0; i < n; i++) { vector<int> tp; int x; cin >> x; cnt[i] = x; while (x--) { int ttp; cin >> ttp; tp.push_back(ttp); v[ttp].push_back(i); } a.push_back(tp); } int ans = 0; while (m--) { int x; cin >> x; for (int i = 0; i < v[x].size(); i++) { cnt[v[x][i]]--; if (cnt[v[x][i]] == 0) { ans++; } } cout << ans << '\n'; } return0; }
#include<bits/stdc++.h> usingnamespace std; #define int long long signedmain() { int n, m; cin >> n >> m; vector<int> cnt(n, 0); for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; int sum = a + b; int r = sum % n; cnt[r]++; } int ans = m * (m - 1) / 2; int tp = 0; for (int i = 0; i < n; i++) { int c = cnt[i]; tp += c * (c - 1) / 2; } cout << (ans - tp); return0; }