Submission #124991

#TimeUsernameProblemLanguageResultExecution timeMemory
1249912fat2codeBosses (BOI16_bosses)C++14
67 / 100
1568 ms1068 KiB
#include <bits/stdc++.h> #define ll long long #define all(a) (a).begin(), (a).end() //#pragma GCC optimize("O3") //#pragma GCC optimize("Ofast") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #define sz() size() #define fr first #define sc second #define pb push_back #define er erase #define in insert #define pi pair<int,int> #define pii pair<pair<int,int>,int> #define mp make_pair //#define int long long #define rc(s) return cout<<s,0 #define rcc(s) cout<<s,exit(0) //#define cin fin //#define cout fout using namespace std; //ifstream fin("file.in"); //ofstream fout("file.out"); const int nmax=1e3+5; const int mod=1e9+7; const int mod1=998244353; int n,k,x,root,cnt,viz[5005],ans=1e18,dp[5005]; vector<int>cop[5005]; vector<int>nod[5005]; void DFS(int s){ viz[s]=1; for(auto it:nod[s]){ if(!viz[it]) DFS(it); } for(auto it:nod[s]){ dp[s]+=dp[it]; } dp[s]++; } int32_t main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n; for(int i=1;i<=n;i++){ cin >> k; for(int j=1;j<=k;j++){ cin >> x; cop[x].push_back(i); } } for(int i=1;i<=n;i++){ int cnt=0; queue<int>q; q.push(i); for(int j=1;j<=n;j++){ nod[j].clear(); viz[j]=0; } viz[i]=1; while(!q.empty()){ int x=q.front(); for(auto it:cop[x]){ if(!viz[it]){ cnt++; viz[it]=1; q.push(it); nod[x].push_back(it); } } q.pop(); } if(cnt!=n-1) continue; for(int j=1;j<=n;j++){ viz[j]=0; dp[j]=0; } DFS(i); int sum=0; for(int j=1;j<=n;j++){ sum+=dp[j]; } ans=min(ans,sum); } rc(ans); }

Compilation message (stderr)

bosses.cpp:30:34: warning: overflow in implicit constant conversion [-Woverflow]
 int n,k,x,root,cnt,viz[5005],ans=1e18,dp[5005];
                                  ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...