Submission #587124

#TimeUsernameProblemLanguageResultExecution timeMemory
587124promaStranded Far From Home (BOI22_island)C++17
0 / 100
53 ms596 KiB
#include <bits/stdc++.h> #define int long long #define see(x) cout<<#x<<"="<<x<<"\n"; #define endl "\n" using namespace std; const int N = 2005; int n, m, s[N], used[N]; vector <int> g[N]; void bfs(int v) { memset(used, 0, sizeof(used)); queue <int> q; q.push(v); used[v] = 1; int sum = s[v]; while (!q.empty()) { int v = q.front(); q.pop(); for (auto i: g[v]) { if (!used[i] and sum >= s[i]) { sum += s[i]; used[i] = 1; q.push(i); } } for (auto i: g[v]) { if (!used[i] and sum >= s[i]) { sum += s[i]; used[i] = 1; q.push(i); } } } } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); /* freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); */ cin >> n >> m; for (int i = 1; i <= n; i ++) { cin >> s[i]; } for (int i = 0; i < m; i ++) { int u, v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } for (int i = 1; i <= n; i ++) { bfs(i); int cnt = 0; for (int j = 1; j <= n; j ++) { cnt += used[j]; } if (cnt == n) cout << "1"; else cout << "0"; } 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...