Submission #1201829

#TimeUsernameProblemLanguageResultExecution timeMemory
1201829waigoonBosses (BOI16_bosses)C++20
100 / 100
414 ms812 KiB
#include <bits/stdc++.h> #define int long long #define float long double #define pii pair<int, int> #define tii tuple<int, int, int> #define f first #define s second #define ve vector #define emb emplace_back #define em emplace using namespace std; const int inf = 1e18; const int mod = 1e9 + 7; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; ve<ve<int>> inv(n); for (int i = 0; i < n; i++) { int k; cin >> k; while (k--) { int x; cin >> x; inv[x-1].emb(i); } } int mn = inf; for (int i = 0; i < n; i++) { queue<pii> q; ve<bool> vis(n, false); q.em(i, 1); int cnt = 0, sum = 0; while (!q.empty()) { auto [x, y] = q.front(); q.pop(); if (vis[x]) continue; vis[x] = true, cnt++, sum += y; for (auto e : inv[x]) q.em(e, y+1); } if (cnt != n) continue; mn = min(mn, sum); } cout << mn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...