Submission #1214890

#TimeUsernameProblemLanguageResultExecution timeMemory
1214890thangdz2k7Mechanical Doll (IOI18_doll)C++20
Compilation error
0 ms0 KiB
#include "doll.h"
#include <bits/stdc++.h>

using namespace std;

void create_circuit(int M, vector <int> A){
    vector <int> C(M + 1, -1);
    int nNode = 0;

    A.push_back(0);
    int N = A.size();
    vector <int> X(N * 2), Y(n * 2);
    int b = 1;
    while (b < N) b *= 2;

    function <int(int, int)> dfs = [&](int l, int r){
        if (l >= N) return -1;
        if (l < r - 1){
            int mid = l + r >> 1;
            nNode ++; int cur = nNode;
            X[cur - 1] = dfs(l, mid);
            Y[cur - 1] = dfs(mid, r);
            return -cur;
        }
        return 1;
    };

    dfs(0, b);
    vector <int> vis(nNode, 0);
    for (int i : A){
        int u = 0;
        while (u > -1){
            vis[u] ^= 1;
            int &to = vis[u] ? X[u] : Y[u];
            if (to >= 0) to = i, u = -1;
            else u = -(to + 1);
        }
    }

    X.resize(nNode); Y.resize(nNode);
    answer(C, X, Y);
}

Compilation message (stderr)

doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:12:30: error: 'n' was not declared in this scope
   12 |     vector <int> X(N * 2), Y(n * 2);
      |                              ^