Submission #1293848

#TimeUsernameProblemLanguageResultExecution timeMemory
1293848hynmjBosses (BOI16_bosses)C++20
0 / 100
1 ms560 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const long long N = 5e3 + 5; int a[N]; vector<int> graph[N]; bool vis[N]; int levels[N]; int n, m, e; int bfs(int k) { fill(levels, levels + n + 1, 0); fill(vis, vis + n + 1, 0); queue<int> q; q.push(k); int visited = 0; int level = 2; levels[1] = 1; while (q.size()) { int k = q.front(); q.pop(); // if (vis[k]) // continue; // cout << "k == " << k << endl; vis[k] = 1; visited++; for (int i : graph[k]) { if (vis[i]) continue; vis[i] = 1; // cout << i << ' '; levels[level]++; q.push(i); } // cout << endl; level++; } if (visited != n) { return 1e18; } while (levels[level] == 0) level--; int ans = 0; for (int i = level, j = 1; i >= 0; i--, j++) { // cout << i << " " << levels[i] << " " << j << endl; ans += levels[i] * j; } return ans; } void solve() { cin >> n; for (int i = 1; i <= n; i++) { cin >> m; for (int j = 0; j < m; j++) { cin >> e; graph[e].push_back(i); } } int ans = 1e18; // for (int i = 1; i <= n; i++) // {/ ans = min(ans, bfs(4)); cout << ans << endl; // } // for (int i = 0; i < n + 1; i++) // { // cout << "i = " << i << endl; // for (auto j : graph[i]) // cout << j << ' '; // cout << endl; // } } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int t = 1; // cin >> t; for (int i = 1; i <= t; i++) { // cout << "Case #" << i << ':' << ' '; solve(); cout << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...