제출 #968303

#제출 시각아이디문제언어결과실행 시간메모리
968303maxFedorchukStranded Far From Home (BOI22_island)C++17
10 / 100
1083 ms19444 KiB
#include <bits/stdc++.h> using namespace std; const int MX=2e5+10; vector < int > mas[MX]; int s[MX],use[MX]; int n,m; bool chk(int vr) { fill(use+1,use+1+n,0); priority_queue < pair < int , int > , vector < pair < int , int > > , greater < pair < int , int > > > q; for(auto u:mas[vr]) { q.push({s[u],u}); } long long sum=s[vr],k1=1; use[vr]=1; while(!q.empty()) { int zar=q.top().second; q.pop(); if(use[zar]) { continue; } use[zar]=1; k1++; if(s[zar]>sum) { return 0; } sum+=s[zar]; for(auto u:mas[zar]) { q.push({s[u],u}); } } return (k1==n); } int main() { cin.tie(0); ios_base::sync_with_stdio(0); cin>>n>>m; for(int i=1;i<=n;i++) { cin>>s[i]; } for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; mas[a].push_back(b); mas[b].push_back(a); } for(int i=1;i<=n;i++) { cout<<chk(i); } cout<<"\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...