Cod sursa(job #2564692)
Utilizator | Data | 2 martie 2020 09:20:46 | |
---|---|---|---|
Problema | A+B | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream fin("posta3.in");
ofstream fout("posta3.out");
int i,n,k,a,b,x,t[3010],f[3010],vl,maxi,sol,val[3010],aux;
vector<int> v[3010];
int main()
{
fin>>n>>x;
for(i=1;i<n;i++)
{
fin>>a>>b;
v[a].push_back(b);
t[b]=a;
}
a=x;while(t[a]!=0) f[a]=1,a=t[a];
f[a]=1;
for(i=1;i<=n;i++) fin>>val[i];
while(a!=x)
{
for(auto it:v[a]) if(f[it]==0) maxi=max(maxi,val[it]); else aux=it;
a=aux;
if(val[aux]<maxi) sol++;
}
fout<<sol;
return 0;
}