Submission #1296233

#TimeUsernameProblemLanguageResultExecution timeMemory
1296233thaibeo123Power Plant (JOI20_power)C++20
100 / 100
72 ms26632 KiB
#include <bits/stdc++.h> using namespace std; #define NAME "A" #define ll long long #define fi first #define se second #define pb push_back #define all(x) x.begin(), x.end() #define MASK(x) (1ll << (x)) #define BIT(x, i) (((x) >> (i)) & 1) const int N = 2e5 + 5; int n, ans; int a[N]; int dp[N]; vector<int> g[N]; void dfs(int u, int par) { dp[u] = a[u]; int sum = -a[u]; for (int v : g[u]) { if (v == par) continue; dfs(v, u); ans = max(ans, dp[v] + a[u]); sum += dp[v]; } dp[u] = max(dp[u], sum); ans = max(ans, dp[u]); } void input() { cin >> n; for (int i = 1; i < n; i++) { int u, v; cin >> u >> v; g[u].pb(v); g[v].pb(u); } for (int i = 1; i <= n; i++) { char x; cin >> x; a[i] = x - '0'; } } void solve() { dfs(1, 0); cout << ans; } signed main() { if (fopen(NAME".INP", "r")) { freopen(NAME".INP", "r", stdin); freopen(NAME".OUT", "w", stdout); } cin.tie(0)->sync_with_stdio(0); int t = 1; //cin >> t; while (t--) { input(); solve(); } return 0; }

Compilation message (stderr)

power.cpp: In function 'int main()':
power.cpp:55:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   55 |         freopen(NAME".INP", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
power.cpp:56:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   56 |         freopen(NAME".OUT", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...