Submission #867992

#TimeUsernameProblemLanguageResultExecution timeMemory
867992TAhmed33Stranded Far From Home (BOI22_island)C++98
10 / 100
363 ms852 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int MAXN = 2e3 + 25; vector <int> adj[MAXN]; int cnt[MAXN]; bool vis[MAXN]; int sze; signed main () { int n, m; cin >> n >> m; int l = 0; for (int i = 1; i <= n; i++) cin >> cnt[i], l += cnt[i]; for (int i = 1; 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++) { sze = cnt[i]; memset(vis, 0, sizeof(vis)); set <pair <int, int>> dd; vis[i] = 1; for (auto j : adj[i]) dd.insert({cnt[j], j}); while (!dd.empty()) { auto g = *(dd.begin()); if (g.first > sze) break; sze += g.first; dd.erase(g); vis[g.second] = 1; for (auto j : adj[g.second]) { if (!vis[j]) dd.insert({cnt[j], j}); } } cout << (sze == l); } cout << '\n'; }
#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...