Submission #1366241

#TimeUsernameProblemLanguageResultExecution timeMemory
1366241opeleklanosToy Design (EGOI22_toydesign)C++20
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
using namespace std;



int lastLevel = 0;
vector<int> rep;

struct segTree{
    int l; int r;
    int leader;
    segTree * lc, * rc;
    int level;
    segTree(int ind){
        leader = rep[ind];
        l = r = ind;
        level = 0;
        lc = rc = nullptr;
    }

    segTree(segTree*le, segTree*ri){
        lc = le;
        rc = ri;
        l = lc->l;
        r = rc->r;
        leader = lc->leader;
        level = Connected(lc->level, lc->leader, rc->leader);
        lastLevel = level;
    }
};

segTree * build(int l, int r){
    int mid = (l+r)/2;
    if(l==r) return new segTree(l);
    else return new segTree(build(l, mid), build(mid+1, r));
}

int query(segTree * st, int nd){
    if(st->l == st->r) return st->leader;

    if(st->lc->level == Connected(st->lc->level, nd, st->lc->leader)) return query(st->lc, nd);
    else return query(st->rc, nd);
}

void ToyDesign(int n, int max_ops){
    rep.clear();
    rep.push_back(1);
    for(int i = 2; i<=n; i++){
        int b = Connected(lastLevel, 1, i);
        if(b>lastLevel) rep.push_back(i);
        lastLevel = b;
    }

    segTree * seg = build(0, rep.size()-1);

    vector<pair<int, int>> ans;

    int repind = 0;

    for(int i = 1; i<=n; i++){
        if(i == rep[repind]){
            repind++;
            continue;
        }
        ans.push_back({i, query(seg, i)});
    }
    DescribeDesign(ans);
}

Compilation message (stderr)

Main.cpp: In constructor 'segTree::segTree(segTree*, segTree*)':
Main.cpp:28:17: error: 'Connected' was not declared in this scope
   28 |         level = Connected(lc->level, lc->leader, rc->leader);
      |                 ^~~~~~~~~
Main.cpp: In function 'int query(segTree*, int)':
Main.cpp:42:25: error: 'Connected' was not declared in this scope
   42 |     if(st->lc->level == Connected(st->lc->level, nd, st->lc->leader)) return query(st->lc, nd);
      |                         ^~~~~~~~~
Main.cpp: In function 'void ToyDesign(int, int)':
Main.cpp:50:17: error: 'Connected' was not declared in this scope
   50 |         int b = Connected(lastLevel, 1, i);
      |                 ^~~~~~~~~
Main.cpp:68:5: error: 'DescribeDesign' was not declared in this scope
   68 |     DescribeDesign(ans);
      |     ^~~~~~~~~~~~~~
Main.cpp: In function 'int query(segTree*, int)':
Main.cpp:44:1: warning: control reaches end of non-void function [-Wreturn-type]
   44 | }
      | ^