제출 #722992

#제출 시각아이디문제언어결과실행 시간메모리
722992Mr_HusanboyStranded Far From Home (BOI22_island)C++17
0 / 100
1087 ms16428 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; #define int ll void solve(){ int n, m; cin >> n >> m; vector<int> s(n); for(auto &u : s) cin >> u; vector<vector<int>> g(n); for(int i = 0; i < m; i ++){ int u, v; cin >> u >> v; u --; v --; g[u].push_back(v); g[v].push_back(u); } auto check = [&](int i)->int{ priority_queue<pair<int,int>> q; ll cur = s[i]; vector<int> used(n); used[i] = 1; for(auto u : g[i]){ q.push({-s[u], u}); } //cout << i << ": " << cur << endl; while(!q.empty()){ int t = q.top().second; q.pop(); if(s[t] <= cur){ cur += s[t]; }else{ return 0; } for(auto u : g[t]){ if(used[u]) continue; used[u] = 1; q.push({-s[u], u}); } } return 1; }; for(int i = 0; i < n; i ++){ cout << check(i); } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int testcases = 1; //cin >> testcases; while(testcases --){ solve(); if(testcases) cout << '\n'; #ifdef LOCAL else cout << '\n'; cout << "___________________" << endl; #endif } 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...