Submission #1316989

#TimeUsernameProblemLanguageResultExecution timeMemory
1316989pobeXylophone (JOI18_xylophone)C++20
Compilation error
0 ms0 KiB
#include "xylophone.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define int long long
using namespace std;
using namespace __gnu_pbds;
using ordered_set = tree <int, null_type, less_equal <int>, rb_tree_tag, tree_order_statistics_node_update>;
ostream &operator <<(ostream &out, vector <int> val) {
    for (auto v : val) {
        out << v  << ' ';
    }
    return out;
}
void solve(int n) {
    vector <int> res(n);
    if (n == 1) {
        answer(1, 1);
        return;
    } else if (n == 2) {
        answer(1, 1);
        answer(2, 2);
        return;
    }
    vector <int> d(n - 1);
    for (int i = 0; i < n - 1; ++i) {
        d[i] = query(i + 1, i + 2);
    }
    res[0] = 0;
    res[1] = d[0];
    for (int i = 0; i < n - 2; ++i) {
        int v = query(i + 1, i + 3);
        if (v == d[i] + d[i + 1]) {
            if (res[i] < res[i + 1]) {
                res[i + 2] = res[i + 1] + d[i + 1];
            } else {
                res[i + 2] = res[i + 1] - d[i + 1];
            }
        } else {
            if (res[i] < res[i + 1]) {
                res[i + 2] = res[i + 1] - d[i + 1];
            } else {
                res[i + 2] = res[i + 1] + d[i + 1];
            }
        }
    }
    int ind1 = min_element(res.begin(), res.end()) - res.begin();
    int ind2 = max_element(res.begin(), res.end()) - res.begin();
    int v = res[ind1];
    for (int i = 0; i < n; ++i) {
        res[i] = res[i] - v + 1;
        if (ind2 < ind1) {
            res[i] = n + 1 - res[i];
        }
        answer(i + 1, res[i]);
    }
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccbKpy32.o: in function `main':
grader.cpp:(.text.startup+0x30): undefined reference to `solve(int)'
collect2: error: ld returned 1 exit status