Submission #851135

# Submission time Handle Problem Language Result Execution time Memory
851135 2023-09-18T15:03:03 Z Benmath Bosses (BOI16_bosses) C++14
67 / 100
28 ms 860 KB
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <bits/stdc++.h>

using namespace std;
int n;
vector<int> v[5010];
int vis[5010];
int vis_dfs[5010];
int subtree[5010];
vector<int> adjl[5010];

int brojac = 0;
int brojac_posj = 0;
void dfs (int s){
    vis_dfs[s]++;
    subtree[s]++;
    for(int i = 0; i < adjl[s].size(); i++){
        if(vis_dfs[adjl[s][i]] == 0){
            dfs(adjl[s][i]);
            subtree[s] += subtree[adjl[s][i]];
            
        }
    }
    brojac = brojac + subtree[s];
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> n;
    for (int i = 1; i <= n; i++){
        int x;
        cin >> x;
        for(int j = 0;j < x;j++){
            int y;
            cin >> y;
            v[i].push_back(y);
        }
    }
    int ans = 1e9;
    
    for(int i = 1; i <= n; i++){
        brojac_posj = 0;
        for(int j = 1; j <= n; j++){
            vis[j] = 0;
            vis_dfs[j] = 0;
            subtree[j] = 0;
            adjl[j].clear();
        }
        vis[i]++;
        brojac_posj++;
        brojac = 0;
        queue<int>q;
        q.push(i);
        if(n<=4000){
        while (!q.empty()){
            int a = q.front();
            q.pop();
            for (int j = 1; j <= n; j++){
                if (vis[j] == 0){
                    for (int k = 0; k < v[j].size(); k++){
                        if(v[j][k] == a){
                           adjl[a].push_back(j);
                           vis[j]++;
                           brojac_posj++;
                           q.push(j);
                            break;
                        }
                    }
                }
            }
    
             
            
        }
        if(brojac_posj == n){
        dfs (i);
        ans = min(ans, brojac);
        }
        }
        
        
    }
    cout << ans;
}

Compilation message

bosses.cpp: In function 'void dfs(int)':
bosses.cpp:24:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for(int i = 0; i < adjl[s].size(); i++){
      |                    ~~^~~~~~~~~~~~~~~~
bosses.cpp: In function 'int main()':
bosses.cpp:68:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |                     for (int k = 0; k < v[j].size(); k++){
      |                                     ~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 600 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 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 1 ms 600 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 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 1 ms 604 KB Output is correct
10 Correct 4 ms 604 KB Output is correct
11 Correct 4 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 600 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 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 1 ms 604 KB Output is correct
10 Correct 4 ms 604 KB Output is correct
11 Correct 4 ms 604 KB Output is correct
12 Correct 28 ms 604 KB Output is correct
13 Correct 12 ms 808 KB Output is correct
14 Incorrect 21 ms 860 KB Output isn't correct
15 Halted 0 ms 0 KB -