Submission #1317573

#TimeUsernameProblemLanguageResultExecution timeMemory
1317573michael12Bosses (BOI16_bosses)C++20
22 / 100
0 ms332 KiB
#include<bits/stdc++.h> #define ff first #define ss second #define pb push_back #define mp make_pair #define int long long using namespace std; const int maxn = 5e5; const int inf = 1e18; signed main() { int t; cin >> t; vector<vector<int>> f(t); for(int i = 0; i < t; i++){ int a; cin >> a; for(int j = 0; j < a; j++){ int V; cin >> V; V--; f[V].push_back(i); } } int mn = inf; for(int s = 0; s < t; s++){ int sum = 0; queue<int> pq; pq.push(s); vector<bool> vis(t, false); vector<int> d(t, inf); vis[s] = true; d[s] = 1; while(!pq.empty()){ int R = pq.front(); pq.pop(); for(auto T : f[R]){ if(!vis[T]){ d[T] = d[R] + 1; vis[T] = true; pq.push(T); } } } for(int i = 0; i < t; i++){ sum += d[i]; } mn = min(mn, sum); } cout << mn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...