Submission #509364

#TimeUsernameProblemLanguageResultExecution timeMemory
509364sumit_kk10Bosses (BOI16_bosses)C++17
0 / 100
16 ms31600 KiB
#include <bits/stdc++.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define ll long long #define pb push_back #define F first #define S second using namespace std; const int N = 1e6 + 5, MOD = 1e9 + 7; int n, sum = 0; vector<int> g[N], vis(N), dis(N); void solve(){ cin >> n; for(int i = 1; i <= n; ++i){ int x; cin >> x; for(int j = 0; j < x; ++j){ int k; cin >> k; g[k].pb(i); } } long long ans = INT_MAX; for(int root = 1; root <= n; ++root){ for(int j = 1; j <= n; ++j) vis[j] = 0; queue<pair<int, int> > q; int mx = 1; q.push({root, 1}); dis[root] = 1; vis[root] = true; while(!q.empty()){ int node = q.front().F, cost = q.front().S; q.pop(); for(auto k : g[node]){ if(!vis[k]){ q.push({k, cost + 1}); dis[k] = cost + 1; mx = max(mx, cost + 1); vis[k] = true; } } } long long sum = 0; bool ok = 1; for(int i = 1; i <= n; ++i){ if(!vis[i]) ok = 0; sum += mx - dis[i] + 1; } if(ok) ans = min(ans, sum); // cout << sum << ' '; } cout << ans << '\n'; } int main() { fast; int t = 1; // cin >> t; while(t--) solve(); return 0; }

Compilation message (stderr)

bosses.cpp: In function 'int main()':
bosses.cpp:61:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
   61 |     while(t--)
      |     ^~~~~
bosses.cpp:63:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
   63 |  return 0;
      |  ^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...