Submission #589862

#TimeUsernameProblemLanguageResultExecution timeMemory
5898621zaid1Stranded Far From Home (BOI22_island)C++17
0 / 100
44 ms888 KiB
#include <bits/stdc++.h> using namespace std; #define endl '\n' const int M = 4e3+1; #define int long long vector<int> node[M]; int p[M]; bool bfs(int s) { bitset<100005> vis; int sum = p[s]; queue<int> q; vis[s] = 1; q.push(s); while (!q.empty()) { int t = q.front(); q.pop(); for (int i:node[t]) { if (!vis[i]) { if (p[i] > sum) return 0; sum += p[i]; vis[i] = 1; q.push(i); } } } return true; } signed main() { cin.tie(0)->sync_with_stdio(0); int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> p[i]; for (int i = 1; i <= m; i++) { int a, b; cin >> a >> b; node[a].push_back(b); node[b].push_back(a); } for (int i = 1; i <= n; i++) sort(node[i].begin(), node[i].end(),[](int a, int b) {return p[a] < p[b];}); for (int i = 1; i <= n; i++) cout << bfs(i); cout << endl; return 0; } /* 4 4 2 2 4 3 1 2 1 3 2 3 3 4 4 3 4 2 2 1 1 2 3 2 4 1 */

Compilation message (stderr)

island.cpp: In function 'int main()':
island.cpp:44:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   44 |     for (int i = 1; i <= n; i++) cout << bfs(i); cout << endl;
      |     ^~~
island.cpp:44:50: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   44 |     for (int i = 1; i <= n; i++) cout << bfs(i); cout << endl;
      |                                                  ^~~~
#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...