Submission #569992

#TimeUsernameProblemLanguageResultExecution timeMemory
569992OttoTheDinoPower Plant (JOI20_power)C++17
0 / 100
4 ms4948 KiB
#include <bits/stdc++.h> using namespace std; #define rep(i,s,e) for (int i = s; i <= e; ++i) #define rrep(i,s,e) for (int i = s; i >= e; --i) #define pb push_back #define pf push_front #define fi first #define se second #define all(a) a.begin(), a.end() #define len(a) (int)a.size() typedef long long ll; typedef pair<int, int> ii; typedef vector<ii> vii; typedef vector<int> vi; typedef vector<double> vd; typedef vector<string> vs; typedef vector<ll> vll; const int mx=2e5; vi adj[mx+1]; int ans = 0; string s; int dfs (int u, int p) { int x = 0; for (int v : adj[u]) { if (v==p) continue; x += dfs (v, u); } if (s[u-1]=='1') { ans = max(ans, x+1); x = max(x-1, 1); } ans = max(ans, x); return x; } int main() { ios::sync_with_stdio(0); cin.tie(0); int n;cin>>n; rep(i,1,n-1){ int u,v; cin>>u>>v; adj[u].pb(v); adj[v].pb(u); } cin >> s; int y = 0; rep (i,0,n-1) { if (s[i]=='1') { y = i+1; } } dfs (y,0); cout << ans << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...