Submission #723090

#TimeUsernameProblemLanguageResultExecution timeMemory
723090MardonbekhazratovStranded Far From Home (BOI22_island)C++17
10 / 100
1071 ms14124 KiB
#include<bits/stdc++.h> #define ll long long #define ff first #define sd second using namespace std; vector<vector<int>>v; vector<int>a,vis; int main(){ int n,m;cin>>n>>m; a.resize(n+1); v.resize(n+1); vis.assign(n+1,0); for(int i=1;i<=n;i++) cin>>a[i]; for(int i=0;i<m;i++){ int x,y;cin>>x>>y; v[x].push_back(y); v[y].push_back(x); } for(int i=1;i<=n;i++){ set<pair<int,int>>s; s.insert({0,i}); vis[i]=i; ll sum=0; while(!s.empty()){ pair<int,int> l=*s.begin(); int cnt=l.ff; int x=l.sd; if(cnt>sum) break; s.erase(s.begin()); sum+=a[x]; for(int z:v[x]) if(vis[z]!=i){ vis[z]=i; s.insert({a[z],z}); } } if(s.empty()) cout<<1; else cout<<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...