제출 #1143017

#제출 시각아이디문제언어결과실행 시간메모리
1143017owoovoPower Plant (JOI20_power)C++20
100 / 100
64 ms25924 KiB
#include<bits/stdc++.h> #define ll long long #define F first #define S second using namespace std; vector<int> e[200010]; int val[200010],dp[200010],ans,n; int dfs(int now,int last){ int sum=0,mx=0; for(auto x:e[now]){ if(x==last)continue; int u=dfs(x,now); sum+=u; mx=max(mx,u); } if(val[now]==1){ ans=max({ans,mx+1,sum-1}); return max(sum-1,1); }else{ ans=max(ans,sum); return max(sum,0); } } int main(){ ios::sync_with_stdio(0); cin.tie(0); cin>>n; for(int i=1;i<n;i++){ int a,b; cin>>a>>b; e[a].push_back(b); e[b].push_back(a); } for(int i=1;i<=n;i++){ char c; cin>>c; val[i]=(c=='1'); } dfs(1,1); cout<<ans<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...