Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define ll long long int
- #define endl "\n"
- #define PB push_back
- #define F first
- #define S second
- #define all(c) (c).begin(),(c).end()
- #define flash ios_base::sync_with_stdio(false); cin.tie(NULL),cout.tie(NULL);
- int a[3][100005];
- int find(int color,int i)
- {
- int k=i;
- int parent=a[1][k];
- while(parent!=-1)
- {
- if(color==a[2][parent])
- return parent;
- parent=a[1][parent];
- }
- return -1;
- }
- int main()
- {
- //ios_base::sync_with_stdio(false);
- //cin.tie(NULL);
- int n,c;
- cin>>n>>c;
- for(int i=2;i<=n;i++)
- {
- int data;
- cin>>data;
- a[1][i]=data;
- }
- a[1][1]=-1;
- for(int i=1;i<=n;i++)
- {
- cin>>a[2][i];
- }
- for(int i=1;i<=n;i++)
- {
- int color=a[2][i];
- int ans=find(color,i);
- cout<<ans<<" ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement