Submission #1309653

#TimeUsernameProblemLanguageResultExecution timeMemory
1309653vtnooThe Potion of Great Power (CEOI20_potion)C++20
0 / 100
86 ms26264 KiB
#include <bits/stdc++.h> #define L(i, j, k) for(int i = (j); i <= (k); i++) #define R(i, j, k) for(int i = (j); i >= (k); i--) #define ll long long #define sz(a) ((int) a.size()) #define all(a) a.begin(), a.end() #define vi vector<int> #define pb emplace_back #define me(a, x) memset(a, x, sizeof(a)) #define fst first #define snd second #define ii pair<int,int> using namespace std; const int MAXN=1e5+1,MAXU=2e5+1,INF=1e9; int h[MAXN];//,a[MAXU],b[MAXU]; set<int> g[MAXN]; void init(int N, int D, int H[]) { L(i,0,N-1)h[i]=H[i]; } void curseChanges(int U, int A[], int B[]) { L(i,0,U-1){ if(g[A[i]].find(B[i])!=g[A[i]].end()){ g[A[i]].erase(B[i]); g[B[i]].erase(A[i]); }else{ g[A[i]].insert(B[i]); g[B[i]].insert(A[i]); } } } int question(int x, int y, int v) { vi a,b; for(int i:g[x])a.pb(h[i]); for(int i:g[y])b.pb(h[i]); sort(all(a)); a.erase(unique(all(a)),a.end()); sort(all(b)); b.erase(unique(all(b)),b.end()); int ans=INF; L(i,0,sz(a)-1){ auto it=upper_bound(all(b),a[i]); int v1=INF,v2=INF; if(it!=b.end())v1=*it; if(it!=b.begin())v2=*prev(it); ans=min(ans,min(abs(v1-a[i]),abs(v2-a[i]))); } return ans; }
#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...