Submission #1089945

#TimeUsernameProblemLanguageResultExecution timeMemory
1089945NurislamBosses (BOI16_bosses)C++17
100 / 100
581 ms824 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define ff first #define ss second #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define int long long template <class F, class _S> bool chmin(F &u, const _S &v){ bool flag = false; if ( u > v ){ u = v; flag |= true; } return flag; } template <class F, class _S> bool chmax(F &u, const _S &v){ bool flag = false; if ( u < v ){ u = v; flag |= true; } return flag; } const int N = 1e6+50, inf = 1e9; //int mod = 998244353 //int mod = 1000000007; //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); //#define rnd(l, r) uniform_int_distribution <int> (l, r)(rng) void solve(){ int n;cin >> n; vector<vector<int>> g(n+1); for(int i = 1; i <= n; i++){ int sz;cin >> sz; while(sz--){ int to; cin >> to; g[to].pb(i); } } int ans = inf; auto bfs = [&](int x){ queue<int> q;q.push(x); vector<int> d(n+1, inf);d[x] = 1; while(q.size()){ auto ps = q.front();q.pop(); for(int to:g[ps]){ if(chmin(d[to], d[ps] + 1)){ q.push(to); } } } int res = 0; for(int i = 1; i <= n; i++)chmin(res += d[i], inf); chmin(ans, res); }; for(int i = 1; i <= n; i++)bfs(i); cout << ans << '\n'; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int tt = 1; //cin >> tt; while(tt--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...