제출 #1041206

#제출 시각아이디문제언어결과실행 시간메모리
1041206Marco_EscandonStranded Far From Home (BOI22_island)C++11
0 / 100
305 ms23228 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; vector<ll> G[200001]; ll cad[200001]; ll maxi=0; ll cmc(ll node) { priority_queue<pair<ll,ll>> q; map<ll,ll> mapa; ll ac=cad[node]; for(auto i:G[node]) q.push({-cad[i],i}); while(!q.empty()&&ac<maxi&&ac>=-q.top().first) { ll temp=q.top().second;q.pop(); ac+=cad[temp]; for(auto i:G[temp]) { if(mapa[i]==0) { mapa[i]=1; q.push({-cad[i],i}); } } } return (ac>=maxi); } int main() { ll n,m; cin>>n>>m; vector<pair<ll,ll>> temp; for(int i=1; i<=n; i++) { cin>>cad[i]; temp.push_back({cad[i],i}); } sort(temp.begin(),temp.end()); maxi=temp.back().first; for(int i=0; i<m; i++) { ll a,b; cin>>a>>b; G[a].push_back(b); G[b].push_back(a); } vector<ll> sol(n,0); for(auto i:temp) { sol[i.second-1]=cmc(i.second); } for(auto i:sol) cout<<i; 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...