Submission #1090145

#TimeUsernameProblemLanguageResultExecution timeMemory
1090145GourougourouUntitled (POI11_kon)C++17
90 / 100
1143 ms131072 KiB
#include <iostream> #include <bits/stdc++.h> using namespace std; int countAttackGroups(int N, int M, vector<int> A, vector<int> B) { vector<int> deg(N), count(N); for (int i = 0; i<M; ++i) { ++deg[A[i]-1]; ++deg[B[i]-1]; } for (int i = 0; i<N; ++i) ++count[deg[i]]; sort(deg.begin(), deg.end(), greater<>()); int sumDeg = 0, ans = 0; for (int i = 0; i<N-1; ++i) { sumDeg += deg[i]; if (sumDeg - (i * (i+1)) / 2 == M) { if (deg[i] == deg[i+1]) ans += count[deg[i]]; else ++ans; } } return ans; } int main() { ios::sync_with_stdio(0); cin.tie(0); int N; cin >> N; vector<int> A,B; for (int i = 1; i<=N; ++i) { int sz,a; cin >> sz; while (sz--) { cin >> a; if (a > i) { A.push_back(a); B.push_back(i); } } } cout << countAttackGroups(N, A.size(), A, B); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...