Submission #1276008

#TimeUsernameProblemLanguageResultExecution timeMemory
1276008papauloKlasika (COCI20_klasika)C++20
33 / 110
5092 ms2632 KiB
#include <bits/stdc++.h>
using namespace std;

#define MAXQ 200200
vector<int> chi[MAXQ];
int val[MAXQ];
int t=1;

int dfs(int v, int vl) {
    int ans=val[v]^vl;
    for(auto u : chi[v]) {
        ans=max(ans, dfs(u, vl));
    }
    return ans;
}

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    val[1]=0;
    int q;
    cin >> q;
    for(int i=0;i<q;i++) {
        string op;
        cin >> op;
        if(op=="Add") {
            int x, y;
            cin >> x >> y;
            ++t;
            chi[x].push_back(t);
            val[t]=val[x]^y;
        } else {
            int a, b;
            cin >> a >> b;
            cout << dfs(b, val[a]) << "\n";
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...