Submission #1024599

#TimeUsernameProblemLanguageResultExecution timeMemory
1024599overwatch9Stranded Far From Home (BOI22_island)C++17
10 / 100
179 ms604 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int maxn = 2001; ll S[maxn]; vector <int> adj[maxn]; bool vis[maxn]; int main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> S[i]; for (int i = 0; i < m; i++) { int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } for (int i = 1; i <= n; i++) { ll sz = S[i]; fill(vis, vis + n + 1, false); vis[i] = true; priority_queue <pair <ll, int>> pq; for (auto j : adj[i]) { pq.push({-S[j], j}); vis[j] = true; } int x = 1; while (!pq.empty()) { ll tp = -pq.top().first; int s = pq.top().second; pq.pop(); if (tp > sz) break; sz += tp; x++; for (auto j : adj[s]) { if (vis[j]) continue; pq.push({-S[j], j}); vis[j] = true; } } if (x == n) 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...