Submission #1218197

#TimeUsernameProblemLanguageResultExecution timeMemory
1218197__moin__The Potion of Great Power (CEOI20_potion)C++20
0 / 100
3086 ms31880 KiB
#include <bits/stdc++.h> // #include "grader.cpp" using namespace std; vector<set<int>> adj_sets; vector<vector<int>> adj; vector<int> heights; void init(int N, int D, int H[]) { adj_sets.resize(N); heights.resize(N); for (int i = 0; i < N; i++) heights[i] = H[i]; } int u; void curseChanges(int U, int A[], int B[]) { u = U; for (int i = 0; i < U; i++) { int a = A[i], b = B[i];// a--; b--; if (adj_sets[a].find(b) == adj_sets[a].end()) { adj_sets[a].insert(b); adj_sets[b].insert(a); } else { adj_sets[a].erase(b); adj_sets[b].erase(a); } } adj.resize(adj_sets.size()); for (int i = 0; i < adj_sets.size(); i++) { adj[i] = vector<int>(adj_sets[i].begin(), adj_sets[i].end()); } } int question(int x, int y, int v) { // assert (v == u); // cerr << "X = " << x << ", Y = " << y << ", V = " << v << "\n"; vector<int>& sx = adj[x]; vector<int>& sy = adj[y]; int min_diff = 1e9; for (int a : sx) for (int b : sy) min_diff = min(min_diff, abs(heights[a] - heights[b])); return min_diff; }
#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...