This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
using namespace std;
#define FAST ios_base::sync_with_stdio(false); cin.tie(0);
#define LLINF (long long) 1e18//1234567890987654321
#define INF 1234567890l
#define pb push_back
#define ins insert
#define f first
#define s second
#define db 0
#define EPS (1e-7) //0.0000001 the value
#define PI (acos(-1))
#define MAXN 300006
#define MAXK 26
#define MAXX 15000006
#define ll long long int
#define ld long double
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); //can be used by calling rng() or shuffle(A, A+n, rng)
#define FOR(ii, ss, ee) for(ll ii = ss; ii < ee; ii++)
#define space " "
#define cbr cout << "hi\n"
#define mmst(x, v) memset((x), v, sizeof ((x)))
#define bg(ms) (*ms.begin())
#define ed(ms) (*prev(ms.end(), 1))
#define addedge(a, b, c, v) v[(a)].pb(pi((b), (c))); v[(b)].pb(pi((a), (c)))
#define ph push
#define btinpct(x) __builtin_popcountll(x)
#define p2(x) (1LL<<(x))
#define all(x) (x).begin(), (x).end()
#define lbd(x, y) lower_bound(all(x), y)
#define ubd(x, y) upper_bound(all(x), y)
typedef pair <ll, ll> pi;
typedef pair <ll, pi> spi;
typedef pair <pi, pi> dpi;
inline ll rand(ll x, ll y) { ++y; return (rng() % (y-x)) + x; } //inclusivesss
ll n, dist[5006];
vector <int> v[5006];
ll bfs(ll x)
{
queue <ll> q;
mmst(dist,-1);
q.ph(x); dist[x] = 0;
while(!q.empty())
{
ll x = q.front(); q.pop();
for(auto i : v[x])
{
if(dist[i] != -1)
{
assert(dist[i] <= dist[x] + 1);
continue;
}
dist[i] = dist[x] + 1;
q.ph(i);
}
}
ll ans = 0;
FOR(i,1,n+1) { if(dist[i] == -1) return LLINF; ans += dist[i]; }
ans += n;
return ans;
}
int main()
{
cin >> n;
FOR(i,1,n+1)
{
ll k; cin >> k;
for(ll j = 0; j < k; j++) { ll a; cin >> a; v[a].pb(i); }
}
ll ans = LLINF;
FOR(i,1,n+1) ans = min(ans, bfs(i));
cout << ans << "\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |