제출 #640257

#제출 시각아이디문제언어결과실행 시간메모리
640257christinelynnStranded Far From Home (BOI22_island)C++17
10 / 100
128 ms24988 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<ll> vll; const ll mod=1e9+7; const ll maxn=2e5+5; const int INF=1e9+5; #define ok ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define fi first #define se second #define pb push_back #define ub upper_bound #define lb lower_bound #define endl '\n' int n, m, u, v, arr[maxn], par[maxn]; ll cnt[maxn]; vi adj[maxn]; bool ans[maxn]; void dfs(int now) { cnt[now]=arr[now]; for(auto it : adj[now]) { dfs(it); cnt[now]+=cnt[it]; } } int main() { ok cin >> n >> m; for(int i=1; i<=n; i++) cin >> arr[i]; for(int i=0; i<m; i++) { cin >> u >> v; adj[min(u, v)].pb(max(u, v)); par[max(u, v)]=min(u, v); } dfs(1); ans[1]=1; cout << 1; for(int i=2; i<=n; i++) { if(cnt[i]>=arr[par[i]] && ans[par[i]]) { ans[i]=1; } cout << ans[i]; } }
#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...