Submission #39776

#TimeUsernameProblemLanguageResultExecution timeMemory
39776nonocutBosses (BOI16_bosses)C++14
67 / 100
1500 ms2712 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long const int maxn = 5e3 + 5; const long long inf = 1e15; int n; int vis[maxn]; long long val[maxn]; vector<int> way[maxn], p[maxn]; queue<int> q; void dfs(int u) { val[u] = 1; for(auto v : p[u]) dfs(v), val[u] += val[v]; } ll bfs(int u) { int i; for(i=1;i<=n;i++) { p[i].clear(); vis[i] = 0; val[i] = inf; } vis[u] = 1; q.push(u); while(!q.empty()) { int x = q.front(); q.pop(); for(auto y : way[x]) { if(!vis[y]) { vis[y] = 1; p[x].push_back(y); q.push(y); } } } dfs(u); long long ans = 0; for(i=1;i<=n;i++) ans += val[i]; return ans; } int main() { int i,x,k; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%d",&k); while(k--) { scanf("%d",&x); way[x].push_back(i); } } ll ans = inf; for(i=1;i<=n;i++) ans = min(ans, bfs(i)); printf("%lld",ans); }

Compilation message (stderr)

bosses.cpp: In function 'int main()':
bosses.cpp:49:16: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
bosses.cpp:51:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&k);
                 ^
bosses.cpp:53:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&x);
                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...