// Success consists of going from failure to failure without loss of enthusiasm
#include <bits/stdc++.h>
using namespace std;
#define nl '\n'
#define f first
#define s second
#define mp make_pair
#define pb push_back
#define sz(x) int(x.size())
template<class T> using V = vector<T>;
template<class T> using uset = unordered_set<T>;
template<class T, size_t SZ> using AR = array<T, SZ>;
using vi = V<int>;
using pi = pair<int, int>;
using vpi = V<pi>;
const int BLK = 300;
const int INF = 1e9;
int N, D; vi H;
V<uset<int>> stor[BLK];
uset<int> X, Y;
vpi E, C;
void init(int n, int d, int h[]) {
N = n, D = d; H.resize(N);
for(int i = 0; i < N; i++) H[i] = h[i];
}
void curseChanges(int U, int A[], int B[]) {
V<uset<int>> adj(N);
for(int i = 0; i < U; i++) {
int u = A[i], v = B[i]; E.pb(mp(u, v));
if (adj[u].count(v)) { adj[u].erase(v); adj[v].erase(u); }
else { adj[u].insert(v); adj[v].insert(u); }
if (i % BLK == 0) stor[i / BLK] = adj;
}
}
int question(int x, int y, int v) {
--v; int B = (v / BLK); X = stor[B][x], Y = stor[B][y];
for(int d = B * BLK + 1; d <= v; d++) {
if (E[d].f == x || E[d].s == x) {
int z = E[d].f + E[d].s - x;
if (X.count(z)) X.erase(z);
else X.insert(z);
}
if (E[d].f == y || E[d].s == y) {
int z = E[d].f + E[d].s - y;
if (Y.count(z)) Y.erase(z);
else Y.insert(z);
}
}
// cout << "X: ";
// for(auto& c : X) cout << c << " ";
// cout << nl;
// cout << "Y: ";
// for(auto& c : Y) cout << c << " ";
// cout << nl;
C = {};
for(auto& c : X) C.pb(mp(H[c], 0));
for(auto& c : Y) C.pb(mp(H[c], 1));
sort(begin(C), end(C));
int ans = INF;
for(int i = 0; i + 1 < sz(C); i++) if (C[i].s != C[i + 1].s) ans = min(ans, abs(C[i].f - C[i + 1].f));
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
1112 KB |
Output is correct |
2 |
Correct |
2 ms |
1112 KB |
Output is correct |
3 |
Correct |
2 ms |
1112 KB |
Output is correct |
4 |
Correct |
25 ms |
29344 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
180 ms |
262144 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
185 ms |
262144 KB |
Execution killed with signal 9 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
116 ms |
52748 KB |
Output is correct |
2 |
Correct |
110 ms |
22616 KB |
Output is correct |
3 |
Correct |
316 ms |
21344 KB |
Output is correct |
4 |
Correct |
961 ms |
42332 KB |
Output is correct |
5 |
Correct |
1016 ms |
48960 KB |
Output is correct |
6 |
Correct |
137 ms |
18264 KB |
Output is correct |
7 |
Correct |
793 ms |
24920 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
3 ms |
1112 KB |
Output is correct |
3 |
Correct |
2 ms |
1112 KB |
Output is correct |
4 |
Correct |
2 ms |
1112 KB |
Output is correct |
5 |
Correct |
25 ms |
29344 KB |
Output is correct |
6 |
Runtime error |
180 ms |
262144 KB |
Execution killed with signal 9 |
7 |
Halted |
0 ms |
0 KB |
- |