Submission #866761

# Submission time Handle Problem Language Result Execution time Memory
866761 2023-10-27T02:59:17 Z 12345678 Bosses (BOI16_bosses) C++17
100 / 100
822 ms 1112 KB
#include <bits/stdc++.h>

using namespace std;

const int nx=5e3+5;
int n, x, k, res, ans=INT_MAX, cnt, dp[nx];
vector<int> d[nx], tmp[nx];
bool vs[nx];

void dfs(int u)
{
    for (auto v:tmp[u]) dfs(v), dp[u]+=dp[v];
    dp[u]++;
    res+=dp[u];
}

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n;
    for (int i=1; i<=n; i++)
    {
        cin>>k;
        for (int j=0; j<k; j++) cin>>x, d[x].push_back(i);
    }
    for (int i=1; i<=n; i++)
    {
        cnt=res=0;
        for (int j=1; j<=n; j++) vs[j]=dp[j]=0, tmp[j].clear();
        queue<int> q;
        q.push(i);
        vs[i]=1;
        while (!q.empty())
        {
            auto u=q.front();
            cnt++;
            //printf("here %d %d\n", u, cnt);
            q.pop();
            for (auto v:d[u]) if (!vs[v]) tmp[u].push_back(v), vs[v]=1, q.push(v);
        }
        if (cnt==n)
        {
            dfs(i);
            ans=min(ans, res);
        }
    }
    cout<<ans;
}

Compilation message

bosses.cpp: In function 'int main()':
bosses.cpp:29:45: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
   29 |         for (int j=1; j<=n; j++) vs[j]=dp[j]=0, tmp[j].clear();
      |                                        ~~~~~^~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 1 ms 604 KB Output is correct
8 Correct 1 ms 604 KB Output is correct
9 Correct 0 ms 604 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 600 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 1 ms 604 KB Output is correct
5 Correct 0 ms 604 KB Output is correct
6 Correct 0 ms 604 KB Output is correct
7 Correct 1 ms 604 KB Output is correct
8 Correct 1 ms 604 KB Output is correct
9 Correct 0 ms 604 KB Output is correct
10 Correct 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 4 ms 604 KB Output is correct
13 Correct 3 ms 712 KB Output is correct
14 Correct 136 ms 972 KB Output is correct
15 Correct 19 ms 856 KB Output is correct
16 Correct 534 ms 1112 KB Output is correct
17 Correct 822 ms 1080 KB Output is correct
18 Correct 821 ms 1080 KB Output is correct