제출 #1305562

#제출 시각아이디문제언어결과실행 시간메모리
1305562fatime_aslan_156Stranded Far From Home (BOI22_island)C++20
0 / 100
348 ms12400 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long vector<int>v; vector<vector<int>>g; bool comp(int a,int b) { return v[a]<v[b]; } void bfs(int s,vector<bool>&vi) { queue<pair<int,int>>q; q.push({s,v[s]}); vi[s]=1; while(!q.empty()) { int a=q.front().first; int c=q.front().second; q.pop(); for(int u:g[a]) { if(!vi[u] && c>=v[u]) { c+=v[u]; vi[u]=1; q.push({u,c}); } } } } int main() { ll m,n; cin>>n>>m; v.resize(n+1); g.resize(n+1); for(int i=1;i<=n;i++) { cin>>v[i]; } for(int i=1;i<=m;i++) { ll d,f; cin>>d>>f; g[d].push_back(f); g[f].push_back(d); } for(int i=1;i<=n;i++) { sort(g[i].begin(),g[i].end(),comp); } for(int i=1;i<=n;i++) { vector<bool>vi(n+1); bfs(i,vi); bool y=0; for(int j=1;j<=n;j++) { if(!vi[j]) { y=1; break; } } if(y) cout<<0; else cout<<1; } cout<<endl; }
#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...