Submission #866109

#TimeUsernameProblemLanguageResultExecution timeMemory
866109danikoynovThe Potion of Great Power (CEOI20_potion)C++14
17 / 100
3032 ms6512 KiB
#include<bits/stdc++.h>

using namespace std;
    


const int maxn = 1e5 + 10;
int n, h[maxn];
void init(int N, int D, int H[]) 
{
    for (int i = 0; i < N; i ++)
    {
        h[i] = H[i];
    }
}

const int maxq = 50010;

pair < int, int > edge[maxq];

void curseChanges(int U, int A[], int B[]) 
{
    for (int i = 0; i < U; i ++) 
    {
        edge[i] = {A[i], B[i]};
    }
}

int question(int x, int y, int v) 
{
    set < int > sx, sy;

    for (int i = 0; i < v; i ++)
    {
        int a = edge[i].first;
        int b = edge[i].second;

        if (a == x)
        {
            if (sx.find(b) == sx.end())
                sx.insert(b);
            else
                sx.erase(b);
        }
        
        if (b == x)
        {
            if (sx.find(a) == sx.end())
                sx.insert(a);
            else
                sx.erase(a);
        }

        if (a == y)
        {
            if (sy.find(b) == sy.end())
                sy.insert(b);
            else
                sy.erase(b);
        }
        
        if (b == y)
        {
            if (sy.find(a) == sy.end())
                sy.insert(a);
            else
                sy.erase(a);
        }
    }

    if (sx.empty() && sy.empty())
        return 1e9;
    /**cout << "--------------" << endl;
    for (int a : sx)
        cout << a << " ";
    cout << endl;
    for (int b : sy)
        cout << b << " ";
        cout << endl;*/
    int ans = 1e9;
    for (int a : sx)
        for (int b : sy)
            ans = min(ans, abs(h[a] - h[b]));
    
    return ans;
    
}
/**
6 5 11 4
2 42 1000 54 68 234
0 1
2 0
3 4
3 5
3 5
1 3
5 3
0 5
3 0
1 3
3 5
0 3 4
3 0 8
0 5 5
3 0 11
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...