Submission #950416

# Submission time Handle Problem Language Result Execution time Memory
950416 2024-03-20T09:36:23 Z LucaIlie Bosses (BOI16_bosses) C++17
0 / 100
1 ms 348 KB
#include <bits/stdc++.h>

using namespace std;

const int MAX_N = 5000;
vector<int> employees[MAX_N + 1];
bool vis[MAX_N + 1];
int depth[MAX_N + 1];

int main() {
    int n;

    cin >> n;
    for ( int u = 1; u <= n; u++ ) {
        int k;
        cin >> k;
        for ( int i = 0; i < k; i++ ) {
            int v;
            cin >> v;
            employees[v].push_back( u );
        }
    }

    int minCost = n * n;
    for ( int s = 1; s <= n; s++ ) {
        queue<int> q;

        for ( int v = 1; v <= n; v++ ) {
            depth[v] = 0;
            vis[v] = false;
        }

        vis[s] = true;
        depth[s] = 1;
        q.push( s );
        while ( !q.empty() ) {
            int u = q.front();
            q.pop();

            for ( int v: employees[u] ) {
                if ( !vis[v] ) {
                    vis[v] = true;
                    depth[v] = depth[u] + 1;
                    q.push( v );
                }
            }
        }

        int cost = 0;
        for ( int v = 1; v <= n; v++ )
            cost += depth[v];
        minCost = min( minCost, cost );
    }

    cout << minCost;

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Incorrect 1 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Incorrect 1 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Incorrect 1 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -