#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
//ifstream fin("experimental.in");
const int NMAX=300000;
vector <int> g[NMAX+1];
bool viz[NMAX+1];
int tree[NMAX+1];
int available_worker_teams;
int total_worker_teams;
void dfs(int x){
viz[x]=1;
for(const int &y:g[x])
if(viz[y]==0)
{
if(available_worker_teams>0)
available_worker_teams--;
else
{
available_worker_teams++;
total_worker_teams++;
}
dfs(y);
}
}
int main()
{
int a,b,n;
cin>>n;
for(int i=1;i<n;i++)
{
cin>>a>>b;
g[a].push_back(b);
g[b].push_back(a);
}
dfs(1);
cout<<total_worker_teams<<"\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |