Submission #1155321

#TimeUsernameProblemLanguageResultExecution timeMemory
1155321onbertLockpicking (IOI23_lockpicking)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

std::vector<int> ask(int i);

const int maxn = 2e5 + 5;
vector<int> ans[maxn];
int cnt = 0;
vector<int> qry(int i) {
    if (ans[i].size() == 2) return ans[i];
    else {
        cnt++;
        // assert(cnt <= 10000);
        return ans[i] = ask(i);
    }
}

int find_best(int n) {
    int mx = 0, mxcnt = 0;
    for (int i=0;i<500;i++) {
        int val = qry(i)[0] + qry(i)[1];
        if (val == 0) return i;
        if (val > mx) {
            mx = val, mxcnt = 0;
        } else if (val == mx) mxcnt++;
    }
	for (int i=500;i<n;i++) {
        vector<int> vec = qry(i);
        if (vec[0] + vec[1] == 0) return i;
        if (vec[0] + vec[1] == mx) {
            int l = i, r = n-1;
            if (qry(i+1) == vec && i+2 < n && qry(i+2) == vec) {
                l = i+2;
                while (l < r) {
                    int mid = (l+r+1)/2;
                    if (qry(mid) == vec) l = mid;   
                    else r = mid-1;
                }
            }
            mxcnt += l - i + 1;
            i = l;
        }
    }
	return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccaVyMLW.o: in function `qry(int)':
lockpicking.cpp:(.text+0xa5): undefined reference to `ask(int)'
/usr/bin/ld: /tmp/ccWwfP2g.o: in function `main':
grader.cpp:(.text.startup+0x500): undefined reference to `construct_card(int, std::vector<int, std::allocator<int> >, std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >)'
collect2: error: ld returned 1 exit status