#include <bits/stdc++.h>
#pragma GCC optimize ("unroll-loops")
using namespace std;
int d[100005];
vector<int> adj[100005];
int timer = 1;
int dfs(int x, int u){
int res=d[x]^d[u];
for(int v:adj[u]) {
res=max(res,dfs(x,v));
}
return res;
}
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int q; cin >> q;
while (q--){
string s; cin >> s;
int a, b; cin >> a >> b;
if (s == "Add"){
d[++timer]= d[a] ^ b;
adj[a].push_back(timer);
}
else{
cout << dfs(a, b) << "\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... |