Pagini recente » Cod sursa (job #3133730) | Cod sursa (job #1245537) | Cod sursa (job #1864791) | Cod sursa (job #867402) | Cod sursa (job #2899459)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("curatenie.in");
ofstream fout("curatenie.out");
int n, y = 1, x = 0, a[500001][2], a1[500001], a2[500001], v[500001];
void arbore(int stanga, int dreapta, int &x){
int k;
if(stanga > dreapta)
return;
else{
x = a1[y];
k = v[a1[y]];
y++;
arbore(stanga, k - 1, a[x][0]);
arbore(k + 1, dreapta, a[x][1]);
}
}
int main()
{
fin>>n;
for(int i = 1; i <= n; i++){
fin>>a2[i];
v[a2[i]] = i;
}
for(int i = 1; i <= n; i++)
fin>>a1[i];
arbore(1, n, x);
int i=1;
while(i <= n)
{
fout<<a[i][0]<<" "<<a[i][1]<<"\n";
i++;
}
return 0;
}