Submission #1278720

#TimeUsernameProblemLanguageResultExecution timeMemory
1278720IBoryBosses (BOI16_bosses)C++20
100 / 100
363 ms848 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; const int MAX = 5005; vector<int> G[MAX]; int N, S[MAX]; ll BFS(int s) { S[s] = 1; queue<int> Q; Q.push(s); while (!Q.empty()) { int cur = Q.front(); Q.pop(); for (int& next : G[cur]) { if (S[next] <= S[cur] + 1) continue; S[next] = S[cur] + 1; Q.push(next); } } ll ret = 0; for (int i = 1; i <= N; ++i) ret += S[i]; return ret; } int main() { ll ans = 1e18; cin >> N; for (int i = 1; i <= N; ++i) { int n; cin >> n; for (int j = 0; j < n; ++j) { int p; cin >> p; G[p].push_back(i); } } for (int i = 1; i <= N; ++i) { memset(S, 0x3f, sizeof(S)); ans = min(ans, BFS(i)); } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...