Submission #894714

#TimeUsernameProblemLanguageResultExecution timeMemory
894714PekibanBosses (BOI16_bosses)C++17
100 / 100
451 ms788 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<int> v[n]; for (int i = 0; i < n; ++i) { int k; cin >> k; while (k--) { int u; cin >> u; u--; v[u].push_back(i); } } bitset<5000> bs; bs.reset(); long long ans = 1e9; int dep[n]; for (int i = 0; i < n; ++i) { bs.reset(); queue<int> q; q.push(i); dep[i] = 1; long long sum = 1; bs[i] = 1; while (!q.empty()) { int s = q.front(); q.pop(); for (auto u : v[s]) { if (bs[u] == 0) { bs[u] = 1; q.push(u); dep[u] = dep[s] + 1; sum += dep[u]; } } } for (int i = 0; i < n; ++i) { if (bs[i] == 0) { sum += 1e9; } } ans = min(ans, sum); } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...