Borderou de evaluare (job #3160354)

Utilizator matei0000Neacsu Matei matei0000 Data 23 octombrie 2023 19:25:26
Problema Secv8 Status done
Runda Arhiva de probleme Compilator cpp-64 | Vezi sursa
Scor 0

Raport evaluator

Eroare de compilare: main.cpp: In function 'int main()': main.cpp:7:12: error: expected unqualified-id before 'return' 7 | #define rt return | ^~~~~~ main.cpp:8:1321: note: in expansion of macro 'rt' 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^~ main.cpp:8:1320: error: expected ';' before 'return' 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^ | ; main.cpp:7:12: error: expected primary-expression before 'return' 7 | #define rt return | ^~~~~~ main.cpp:8:1321: note: in expansion of macro 'rt' 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^~ main.cpp:8:1320: error: expected ';' before 'return' 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^ | ; main.cpp:7:12: error: expected primary-expression before 'return' 7 | #define rt return | ^~~~~~ main.cpp:8:1321: note: in expansion of macro 'rt' 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^~ main.cpp:8:1320: error: expected ')' before 'return' 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ~ ^ | ) main.cpp:8:1324: error: expected primary-expression before '=' token 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^ main.cpp:8:1332: error: expected primary-expression before '<' token 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^ main.cpp:8:1342: error: expected primary-expression before ')' token 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^ main.cpp:8:1342: error: expected ';' before ')' token 8 | mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());struct tr{int prio, mar, val, lazy;tr *st, *dr;tr(int v, int p){prio = p;mar = 1;val = v;lazy = 0;st = dr = NULL;}};tr *root;int marime(tr *a){if(a == NULL)rt 0;rt a->mar;}void update(tr *a){if(a == NULL)rt;a->mar = marime(a->st) + marime(a->dr) + 1;}void propag(tr *a){if(a == NULL)rt;if(a->lazy){swap(a->st, a->dr);if(a->st != NULL)a->st->lazy ^= 1;if(a->dr != NULL)a->dr->lazy ^= 1;a->lazy = 0;}}tr* join(tr *a, tr *b){propag(a);propag(b);if(a == NULL)rt b;if(b == NULL)rt a;if(a->prio > b->prio){a->dr = join(a->dr, b);update(a);rt a;}else{b->st = join(a, b->st);update(b);rt b;}}ptt split(tr *a, int x){propag(a);if(a == NULL)rt {NULL, NULL};if(x == 0)rt {NULL, a};if(x == a->mar)rt {a, NULL};if(x <= marime(a->st)){ptt rez = split(a->st, x);a->st = rez.sc;update(a);rt {rez.fr, a};}else{ptt rez = split(a->dr, x - marime(a->st) - 1);a->dr = rez.fr;update(a);rt {a, rez.sc};}}ifstream in("secv8.in");ofstream out("secv8.out");int acces(tr *nod, int x){propag(nod);if(x == marime(nod->st) + 1)rt nod->val;if(x <= marime(nod->st))rt acces(nod->st, x);rt acces(nod->dr, x - marime(nod->st) - 1);}void afis(tr *nod){if(nod == NULL)rt;propag(nod);afis(nod->st);out << nod->val << " ";afis(nod->dr);}int main(){int q, useless;in >> q >> useless;for(int rt = 0; rt < q; rt ++){char ch;in >> ch;if(ch == 'I'){int k, e;in >> k >> e;ptt r = split(root, k - 1);root = join(r.fr, join(new tr(e, rng()), r.sc));}else if(ch == 'A'){int k;in >> k;out << acces(root, k) << '\n';}else if(ch == 'R'){int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);r2.fr->lazy ^= 1;root = join(r1.fr, join(r2.fr, r2.sc));}else{int i, j;in >> i >> j;ptt r1 = split(root, i - 1);ptt r2 = split(r1.sc, j - i + 1);root = join(r1.fr, r2.sc);}}afis(root);} | ^ | ; main.cpp:8:1342: error: expected primary-expression before ')' token Non zero exit status: 1

Ceva nu functioneaza?