제출 #1200860

#제출 시각아이디문제언어결과실행 시간메모리
1200860AiperiiiStranded Far From Home (BOI22_island)C++20
10 / 100
1095 ms17192 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define all(x) x.begin(),x.end() #define ff first #define ss second #define pb push_back const int N=2e5+5; vector <int> g[N]; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0);cout.tie(0); int n,m; cin>>n>>m; vector <int> a(n+1); for(int i=1;i<=n;i++){ cin>>a[i]; } while(m--){ int u,v; cin>>u>>v; g[u].pb(v); g[v].pb(u); } for(int i=1;i<=n;i++){ set <pair <int,int> > st; int sum=0; st.insert({0,i}); vector <int> vis(n+1); while(!st.empty()){ int v=st.begin()->ss; int x=a[v]; //cout<<v<<" "<<x<<"\n"; st.erase(st.begin()); if(x<=sum or (v==i && !vis[v])){ sum+=x; vis[v]=1; for(auto to : g[v]){ if(!vis[to]){ st.insert({a[to],to}); } } } else{ break; } } bool ok=1; for(int j=1;j<=n;j++){ if(!vis[j]){ ok=0;break; } } if(ok)cout<<1; else cout<<0; } cout<<"\n"; } /* 4 4 2 2 4 3 1 2 1 3 2 3 3 4 4 3 4 2 2 1 1 2 3 2 4 1 */
#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...