Submission #722905

#TimeUsernameProblemLanguageResultExecution timeMemory
722905rshohruhStranded Far From Home (BOI22_island)C++17
0 / 100
494 ms12224 KiB
#include <bits/stdc++.h> using namespace std; vector<vector<int> > g; vector<int> s; vector<bool> used; queue<int> b; int n; char bfs(int u){ int cnt = s[u]; used.assign(n+1, false); b.push(u); while(!b.empty()){ u = b.front(); b.pop(); for(auto v: g[u]){ if(s[v] > cnt) return '0'; cnt += s[v]; } } return '1'; } int main(){ int m; cin >> n >> m; s.resize(n+1); g.resize(n+1); for(int i = 1; i <= n; ++i) cin >> s[i]; for(int i = 0, u, v; i < m; ++i){ cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } for(int i = 1; i <= n; ++i){ sort(g[i].begin(), g[i].end(), [&](int a, int b){ return s[a] < s[b]; }); } for(int i = 1; i <= n; ++i) cout << bfs(i); }
#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...