Submission #949773

# Submission time Handle Problem Language Result Execution time Memory
949773 2024-03-19T16:52:55 Z NourWael Bosses (BOI16_bosses) C++17
100 / 100
841 ms 1096 KB
#include <bits/stdc++.h>
#define int long long
using namespace std; 
int const mxN = 5e3+5;
vector<int> adj[mxN];
vector<int> fin[mxN];
bool vis[mxN];
int n, sz[mxN];
int full;

int dfs ( int i, int p ) {
   int ans = 1;
   vis[i] = 1;
   for(auto it:fin[i]) {
      if(it==p) continue;
      ans += dfs(it, i);
   }
   full += ans;
   return ans;
}

int solve ( int st ) {
   memset(vis,0,sizeof vis); 
   full = 0;
   for(int i=1; i<=n; i++) fin[i].clear();
   queue<int> q;
   q.push(st);
   vis[st] = 1;
   
   while(q.size()) {
      int i = q.front();
      q.pop();

      for(auto it:adj[i]) {
          if(vis[it]) continue; 
          vis[it] = 1;
          q.push(it);
          fin[i].push_back(it);
      }
   }
   
   memset(vis,0,sizeof vis);
   int g = dfs(st,0);
   for(int i=1; i<=n; i++) if(!vis[i]) return 3e18;
   return full;

}
signed main() {
 
    ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
    
    cin>>n;
    for(int i=1; i<=n; i++) {
      int c; cin>>c;
      while(c--) {
         int x; cin>>x;
         adj[x].push_back(i);
      }
    }
    
    int ans = 3e18;
    for(int i=1; i<=n; i++) { ans = min(ans, solve(i)); 
     }   
    cout<<ans;
   return 0;
}


Compilation message

bosses.cpp: In function 'long long int solve(long long int)':
bosses.cpp:43:8: warning: unused variable 'g' [-Wunused-variable]
   43 |    int g = dfs(st,0);
      |        ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 600 KB Output is correct
2 Correct 1 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 1 ms 604 KB Output is correct
6 Correct 1 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 600 KB Output is correct
2 Correct 1 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 1 ms 604 KB Output is correct
6 Correct 1 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 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 600 KB Output is correct
2 Correct 1 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 1 ms 604 KB Output is correct
6 Correct 1 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 1 ms 604 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 4 ms 860 KB Output is correct
13 Correct 4 ms 860 KB Output is correct
14 Correct 207 ms 984 KB Output is correct
15 Correct 19 ms 860 KB Output is correct
16 Correct 778 ms 1096 KB Output is correct
17 Correct 825 ms 1064 KB Output is correct
18 Correct 841 ms 860 KB Output is correct