Submission #986468

# Submission time Handle Problem Language Result Execution time Memory
986468 2024-05-20T15:26:54 Z andrei_iorgulescu Bosses (BOI16_bosses) C++14
100 / 100
446 ms 768 KB
#include <bits/stdc++.h>

using namespace std;

int n;
vector<int> g[5005];

vector<int> bfs(int nod)
{
    vector<int> d(n + 1);
    for (int i = 1; i <= n; i++)
        d[i] = -1;
    d[nod] = 0;
    queue<int> q;
    q.push(nod);
    while (!q.empty())
    {
        int x = q.front();
        q.pop();
        for (auto vecin : g[x])
        {
            if (d[vecin] == -1)
            {
                d[vecin] = 1 + d[x];
                q.push(vecin);
            }
        }
    }
    return d;
}

int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        int k;
        cin >> k;
        for (int j = 1; j <= k; j++)
        {
            int x;
            cin >> x;
            g[x].push_back(i);
        }
    }
    int ans = 1e9;
    for (int i = 1; i <= n; i++)
    {
        vector<int> d = bfs(i);
        bool cringe = false;
        for (int j = 1; j <= n; j++)
            if (d[j] == -1)
                cringe = true;
        if (!cringe)
        {
            int cur = 0;
            for (int j = 1; j <= n; j++)
                cur += d[j] + 1;
            ans = min(ans,cur);
            //cout << i << ' ' << cur << endl;
        }
    }
    cout << ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 552 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 552 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 552 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 4 ms 600 KB Output is correct
13 Correct 4 ms 604 KB Output is correct
14 Correct 98 ms 664 KB Output is correct
15 Correct 16 ms 680 KB Output is correct
16 Correct 446 ms 752 KB Output is correct
17 Correct 417 ms 600 KB Output is correct
18 Correct 408 ms 768 KB Output is correct