Submission #264284

#TimeUsernameProblemLanguageResultExecution timeMemory
264284FidiskBosses (BOI16_bosses)C++14
100 / 100
896 ms848 KiB
#include <bits/stdc++.h> using namespace std; #define oo 1e9 #define fi first #define se second #define sp(iiii) setprecision(iiii) #define IO ios_base::sync_with_stdio(false); cin.tie(0) #define ms(aaaa,xxxx) memset(aaaa,xxxx,sizeof(aaaa)) #define cntbit(xxxx) __builtin_popcount(xxxx) #define getbit(xxxx,aaaa) ((xxxx>>(aaaa-1))&1) #define _cos(xxxx) cos(xxxx*acos(-1)/180) #define _sin(xxxx) sin(xxxx*acos(-1)/180) #define _tan(xxxx) tan(xxxx*acos(-1)/180) #define PE cout<<fixed typedef long double ld; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef pair<pair<int,int>,int> piii; typedef pair<long long,long long> pll; typedef pair<pair<long long,long long>,long long> plll; const ld pi=acos(-1); queue<pll> q; int res,n,i,k,j,v; bool ok[5009]; vector<ll> g[5009]; int solve(ll x) { q.push({x,2}); for (int ii=1;ii<=n;ii++) { ok[ii]=false; } ok[x]=true; int kq=1; int sl=1; while (!q.empty()) { pll tmp=q.front(); q.pop(); for (int ii=0;ii<g[tmp.fi].size();ii++) { if (!ok[g[tmp.fi][ii]]) { kq+=tmp.se; q.push({g[tmp.fi][ii],tmp.se+1}); ok[g[tmp.fi][ii]]=true; sl++; } } } if (sl<n) { return oo; } return kq; } int main(){ IO; cin>>n; for (i=1;i<=n;i++) { cin>>k; for (j=1;j<=k;j++) { cin>>v; g[v].push_back(i); } } res=oo; for (i=1;i<=n;i++) { res=min(res,solve(i)); } cout<<res<<'\n'; }

Compilation message (stderr)

bosses.cpp: In function 'int solve(ll)':
bosses.cpp:43:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |         for (int ii=0;ii<g[tmp.fi].size();ii++) {
      |                       ~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...