Submission #1251027

#TimeUsernameProblemLanguageResultExecution timeMemory
1251027a1exeyySouvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#include "souvenirs.h"

using namespace std;
using ll = long long;
vector<ll> vv;
vector<int> tr;
vector<ll> vl;
int n;

int solve(int r, ll k) {
    // for (auto i : vl) cout << i << " "; cout << r << " - " << k << "\n";
    auto [vec, sm] = transaction(k);
    sm = k - sm;
    for (auto i : vec) tr[i]--;
    int f = 1;
    for (int i = 1; i < vec.size(); i++) f &= vl[vec[i]] != -1;
    int i = vec[0];
    if (f) {
        vl[i] = sm;
        for (int j : vec) if (j != i) vl[i] -= vl[j];
        if (i == r - 1) return i;
        solve(r, vl[i] - 1);
    } else {
        int ln = 1;
        for (int i = 1; i < vec.size(); i++) {
            if (vec[i] != vec[i - 1] + 1) break;
            ln++;
        }
        while (vec.size() > 1) {
            ll nk = k;
            if (vec.size() == r - i) {
                nk = sm;
            }
            nk = nk / (ln + 1);
            r = solve(r, nk);
            while (vec.size()) {
                if (vec.back() < r) break;
                int j = vec.back();
                vec.pop_back();
                sm -= vl[j];
            }
        }
        vl[i] = sm;
        if (i + 1 < r) {
            solve(r, vl[i] - 1);
        }
    }
    return i;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/cc6v3MrE.o: in function `main':
stub.cpp:(.text.startup+0x99): undefined reference to `buy_souvenirs(int, long long)'
collect2: error: ld returned 1 exit status