Submission #955873

#TimeUsernameProblemLanguageResultExecution timeMemory
955873vjudge1Power Plant (JOI20_power)C++17
0 / 100
3 ms7608 KiB
#include<bits/stdc++.h> using namespace std; int n; int x,y; vector<int>a[300000]; int f[300000]; int k[300000]; string s; int asw=0; void sol(int i,int c){ int mx=0; for(int u:a[i]){ if(u!=c){ sol(u,i); f[i]+=f[u]; mx=max(mx,f[u]); } } if(s[i]=='1'){ asw=max(asw,mx+1); f[i]=max(f[i],1); } if(s[i]=='1'&&i!=1&&a[i].size()==1)f[i]=1; } int main(){ cin >>n; for(int i=1;i<n;i++){ cin >>x>>y; a[x].push_back(y); a[y].push_back(x); } cin >>s; s=" "+s; sol(1,1); cout <<max(asw,f[1]); } /* 5 1 2 2 3 2 4 2 5 11111 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...