Submission #1024893

#TimeUsernameProblemLanguageResultExecution timeMemory
1024893overwatch9Stranded Far From Home (BOI22_island)C++17
0 / 100
193 ms11604 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int maxn = 2e5 + 1; ll S[maxn]; vector <int> adj[maxn]; bool ans[maxn]; ll sz[maxn]; void dfs(int s, int p) { sz[s] = S[s]; for (auto i : adj[s]) { if (i == p) continue; dfs(i, s); sz[s] += sz[i]; } } vector <int> v; void dfs2(int s, int p) { for (auto i : adj[s]) { if (i == p) continue; dfs2(i, s); } if (sz[s] >= S[p]) v.push_back(s); else v.clear(); if (p == 1) { if (sz[s] >= S[1]) { for (auto j : v) ans[j] = true; } } } int main() { freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); 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); } dfs(1, 1); for (auto i : adj[1]) { dfs2(i, 1); v.clear(); } ans[1] = 1; for (int i = 1; i <= n; i++) cout << ans[i]; cout << '\n'; }

Compilation message (stderr)

island.cpp: In function 'int main()':
island.cpp:37:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   37 |     freopen("in.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
island.cpp:38:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   38 |     freopen("out.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#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...