Submission #1055883

# Submission time Handle Problem Language Result Execution time Memory
1055883 2024-08-13T06:16:12 Z TAhmed33 The Potion of Great Power (CEOI20_potion) C++17
17 / 100
3000 ms 29560 KB
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize ("Ofast")
//#include "grader.cpp"
const int MAXN = 2e5 + 25;
const int B = 300;
int n, d, h[MAXN];
void init(int N, int D, int H[]) {
    n = N; d = D;
    for (int i = 0; i < n; i++) {
        h[i] = H[i];
    }
}
int u, a[MAXN], b[MAXN];
vector <int> ii[MAXN];
vector <pair <int, vector <int>>> ls[MAXN];
int cnt[MAXN];
void curseChanges(int U, int A[], int BB[]) {
    u = U;
    for (int i = 0; i < u; i++) {
        a[i] = A[i]; b[i] = BB[i];
    }
    for (int i = 0; i < n; i++) {
        ls[i].push_back({-1, {}});
    }
    vector <int> adj2[n];
    for (int i = 0; i < u; i++) {
        cnt[a[i]]++; cnt[b[i]]++;
        ii[a[i]].push_back(i);
        ii[b[i]].push_back(i);
        adj2[a[i]].push_back(b[i]);
        adj2[b[i]].push_back(a[i]);
        if (cnt[a[i]] % B == 0) {
            ls[a[i]].push_back({i, adj2[a[i]]});
        }
        if (cnt[b[i]] % B == 0) {
            ls[b[i]].push_back({i, adj2[b[i]]});
        }
    }
}
const int inf = 1e9;
set <int> get (int x, int y) {
    set <int> cur;
    for (int i = 0; i < y; i++) {
        if (a[i] == x) {
            if (cur.count(b[i])) {
                cur.erase(b[i]);
            } else {
                cur.insert(b[i]);
            }
        }
        if (b[i] == x) {
            if (cur.count(a[i])) {
                cur.erase(a[i]);
            } else {
                cur.insert(a[i]);
            }
        }
    }
    set <int> dd;
    for (auto i : cur) {
        dd.insert(h[i]);
    }
    return dd;
}
int question (int x, int y, int v) {
    auto xx = get(x, v), yy = get(y, v);
    int mn = inf;
    for (auto i : xx) {
        auto k = yy.lower_bound(i);
        if (k != yy.end()) {
            mn = min(mn, abs(i - *k));
        }
        if (k != yy.begin()) {
            k--;
            mn = min(mn, abs(i - *k));
        }
    }
    return mn;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9816 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9816 KB Output is correct
2 Correct 4 ms 9816 KB Output is correct
3 Correct 5 ms 9816 KB Output is correct
4 Correct 21 ms 17996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 3020 ms 29408 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3045 ms 29560 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 334 ms 11352 KB Output is correct
2 Correct 496 ms 11096 KB Output is correct
3 Correct 2161 ms 11096 KB Output is correct
4 Execution timed out 3012 ms 11352 KB Time limit exceeded
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9816 KB Output is correct
2 Correct 5 ms 9816 KB Output is correct
3 Correct 4 ms 9816 KB Output is correct
4 Correct 5 ms 9816 KB Output is correct
5 Correct 21 ms 17996 KB Output is correct
6 Execution timed out 3020 ms 29408 KB Time limit exceeded
7 Halted 0 ms 0 KB -