Submission #955868

#TimeUsernameProblemLanguageResultExecution timeMemory
955868vjudge1Power Plant (JOI20_power)C++17
0 / 100
2 ms9564 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); 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 1 3 1 4 1 5 10111 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...