Submission #1231222

#TimeUsernameProblemLanguageResultExecution timeMemory
1231222poatThe Potion of Great Power (CEOI20_potion)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
// #include "grader.cpp"
using namespace std;

const int N = 3000, C = 100;

int n, D, H[100100], U;

vector<pair<int, int>> Q[2000];
set<int> S[100010][1010];

void init(int NN, int DD, int HH[]) 
{
    n = NN;
    D = DD;
    for(int i = 0; i < n; i++)
        H[i] = HH[i];
}
    
    
void curseChanges(int u, int AA[], int BB[]) 
{    
    U = u;
    for(int i = 0; i < u; i++)
    {
        Q[AA[i]].push_back({i + 1, BB[i]});
        Q[BB[i]].push_back({i + 1, AA[i]});
    }

    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < Q[i].size(); j++)
        {
            if(S[i][j / C + 1].find(Q[i][j].second) == S[i][j / C + 1].end())
                S[i][j / C + 1].insert(Q[i][j].second);
            else
                S[i][j / C + 1].erase(Q[i][j].second);
        }
    }


    // for(int i = 0; i < n; i++)
    // {
    //     cout << i << " ==\n";
    //     for(auto j : Q[i])
    //         cout << j.first << ' ' << j.second << "\n";
    //     cout << "\n";
    // }
    // exit(0);

}

set<int> S1, S2;
set<int> V1, V2;
int question(int x, int y, int v) 
{
    S1.clear();
    S2.clear();
    V1.clear();
    V2.clear();

    int l = 0, r = U;
    while(r - l > 1)
    {
        int m = (l + r) / 2;
        if(m * C - 1 > Q[x].size() || Q[x][m * C - 1].first > v)
            r = m;
        else
            l = m;
    }

    for(auto i : S[x][l])
        S1.insert(i);
        
    for(int i = l * C; i < Q[x].size(); i++)
    {
        if(Q[x][i].first > v)
            break;

        if(S1.find(Q[x][i].second) == S1.end())
            S1.insert(Q[x][i].second);
        else
            S1.erase(Q[x][i].second);
    }


    l = 0, r = U;
    while(r - l > 1)
    {
        int m = (l + r) / 2;
        if(m * C - 1 > Q[y].size() || Q[y][m * C - 1].first > v)
            r = m;
        else
            l = m;
    }

    for(auto i : S[y][l])
        S2.insert(i);

    for(int i = l * C; i < Q[y].size(); i++)
    {
        if(Q[y][i].first > v)
            break;
            
        if(S2.find(Q[y][i].second) == S2.end())
            S2.insert(Q[y][i].second);
        else
            S2.erase(Q[y][i].second);
    }

    for(auto i : S1)
        V1.insert(H[i]);
    for(auto i : S2)
        V2.insert(H[i]);

    int res = 1e9;
    for(auto i : V1)
    {
        auto it = V2.lower_bound(i);
        if(it != V2.end())
            res = min(res, *it - i);
        if(it != V2.begin())
        {
            it--;
            res = min(res, i - *it);
        }
    }

    return res; 
}       

Compilation message (stderr)

/tmp/ccnMCcev.o: in function `main':
grader.cpp:(.text.startup+0x1b): relocation truncated to fit: R_X86_64_PC32 against symbol `std::cin' defined in .bss._ZSt3cin section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
grader.cpp:(.text.startup+0x4c): relocation truncated to fit: R_X86_64_PC32 against symbol `std::cin' defined in .bss._ZSt3cin section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
grader.cpp:(.text.startup+0x17a): relocation truncated to fit: R_X86_64_PC32 against symbol `std::cout' defined in .bss._ZSt4cout section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
/tmp/ccnMCcev.o: in function `_GLOBAL__sub_I__Z4sigHi':
grader.cpp:(.text.startup+0x248): relocation truncated to fit: R_X86_64_PC32 against `.bss'
/usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(ios_init.o): in function `std::ios_base::Init::Init()':
(.text._ZNSt8ios_base4InitC2Ev+0x1c): failed to convert GOTPCREL relocation against '_ZNSt8ios_base4Init11_S_refcountE'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x60): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x67): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x72): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x87): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0x92): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xa7): relocation truncated to fit: R_X86_64_PC32 against symbol `__gnu_internal::buf_cout_sync' defined in .bss._ZN14__gnu_internal13buf_cout_syncE section in /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a(globals_io.o)
(.text._ZNSt8ios_base4InitC2Ev+0xb2): additional relocation overflows omitted from the output
(.text._ZNSt8ios_base4InitC2Ev+0x1c6): failed to convert GOTPCREL relocation against '_ZSt4cout'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x260): failed to convert GOTPCREL relocation against '_ZSt3cin'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x2e2): failed to convert GOTPCREL relocation against '_ZSt4cerr'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x353): failed to convert GOTPCREL relocation against '_ZSt4clog'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x541): failed to convert GOTPCREL relocation against '_ZSt5wcout'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x5e5): failed to convert GOTPCREL relocation against '_ZSt4wcin'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x670): failed to convert GOTPCREL relocation against '_ZSt5wcerr'; relink with --no-relax
(.text._ZNSt8ios_base4InitC2Ev+0x6e9): failed to convert GOTPCREL relocation against '_ZSt5wclog'; relink with --no-relax
/usr/bin/ld: final link failed
collect2: error: ld returned 1 exit status