Submission #1305215

#TimeUsernameProblemLanguageResultExecution timeMemory
1305215neonglitchPower Plant (JOI20_power)C++20
0 / 100
2 ms332 KiB
#include <iostream> #include <vector> using namespace std; const int N=2e5+10; vector<int> ma[N]; int sp[N],dp[N]; void dfs(int x,int p=0) { dp[x]=-sp[x]; for(auto y:ma[x]) if(y^p) dfs(y,x),dp[x]+=dp[y]; dp[x]=max(dp[x],sp[x]); } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; for(int i=1;i<n;i++) { int x,y; cin>>x>>y; ma[x].push_back(y); ma[y].push_back(x); } for(int i=1;i<=n;i++) { char c; cin>>c; sp[i]=c-'0'; } int ans=0; for(int i=1;i<=n;i++) { if(sp[i]) { dfs(i); for(auto y:ma[i]) { ans=max(ans,dp[y]+1); } } } cout<<ans<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...