Submission #953538

#TimeUsernameProblemLanguageResultExecution timeMemory
953538koukirocksViruses (BOI20_viruses)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h>
#define speed ios_base::sync_with_stdio(0); cin.tie(0)
#define all(x) (x).begin(),(x).end()
#define F first
#define S second
#pragma GCC optimize("O3")
#pragma GCC target("avx2")
 
namespace{using namespace std;}
typedef long long ll;
typedef double db;
typedef long double ldb;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
 
const ll MAX=1e3+10,P=1e9+7;
const ll INF=0x3f3f3f3f,oo=0x3f3f3f3f3f3f3f3f;
const ldb eps=1e-6;

ll g,n,m;
vector<vector<ll> > GT[MAX];
ll ans[MAX];

ll dfs(int v) {
	if (ans[v]!=-1) return ans[v];
	ans[v]=INF;
	for (auto st:GT[v]) {
		ll now=0;
		for (int i:st) {
			now+=dfs(i);
		}
		ans[v]=min(ans[v],now);
	}
	return ans[v];
}

int main() {
	speed;
	cin>>g>>n>>m;
	for (int i=0;i<n;i++) {
		ll a,k;
		vector<ll> mut;
		cin>>a>>k;
		while (k--) {
			ll x;
			cin>>x;
			mut.push_back(x);
		}
		GT[a].push_back(mut);
	}
	memset(ans,-1,sizeof(ans));
	ans[0]=1;
	ans[1]=1;
	for (int i=0;i<g;i++) {
		cout<<"NO "<<dfs(i)<<"\n";
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...