Submission #1276269

#TimeUsernameProblemLanguageResultExecution timeMemory
1276269monaxiaPower Plant (JOI20_power)C++20
100 / 100
146 ms27040 KiB
#include <bits/stdc++.h> #include <ext/random> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> // #pragma GCC optimize("O3,unroll-loops") // #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #define pb push_back #define ppb pop_back #define fr first #define sc second #define all(v) v.begin(), v.end() #define vektor vector using namespace std; // using namespace __gnu_pbds; using ll = long long; using ull = unsigned long long; using ld = long double; constexpr ull Mod = 1e9 + 7; constexpr ull Mod2 = 1 + 7 * 17 * (1 << 23); constexpr ull sqr = 320; constexpr ld eps = 1e-9; int n, ans = 0; vector <int> graph[200005]; int x[200005], dp[200005]; void dfs(int node, int pr, bool b){ dp[node] = -x[node]; for(auto& u : graph[node]){ if(u == pr) continue; dfs(u, node, b | x[node]); dp[node] += dp[u]; } dp[node] = max(dp[node], x[node]); ans = max(ans, dp[node] + b); } void solve(){ cin >> n; for(int i = 1; i < n; i ++){ int u, v; cin >> u >> v; graph[u].pb(v); graph[v].pb(u); } string ss; cin >> ss; for(int i = 1; i <= n; i ++) x[i] = ss[i - 1] - '0'; dfs(1, 0, 0); cout << ans; } int main(){ // cout << 1; return 0; ios_base::sync_with_stdio(false); cin.tie(NULL); if(fopen("TABLE.inp", "r")){ freopen("TABLE.inp", "r", stdin); freopen("TABLE.out", "w", stdout); } ll t = 1; // cin >> t; while(t --){ solve(); cout << "\n"; } cerr << "Code time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n"; } // Whose eyes are those eyes?

Compilation message (stderr)

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