제출 #1209360

#제출 시각아이디문제언어결과실행 시간메모리
1209360irmuunThe Potion of Great Power (CEOI20_potion)C++20
14 / 100
454 ms24012 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() const int maxn=2e5+5; namespace { int N,D,H[maxn]; int U,A[maxn],B[maxn]; map<pair<int,int>,bool>mp; vector<int>g[maxn]; int cnt[maxn]; } void init(int N, int D, int H[]) { ::N=N,::D=D; for(int i=0;i<N;i++){ ::H[i]=H[i]; } } void curseChanges(int U, int A[], int B[]) { ::U=U; for(int i=0;i<U;i++){ if(A[i]>B[i]) swap(A[i],B[i]); ::A[i]=A[i]; ::B[i]=B[i]; } mp.clear(); for(int i=0;i<N;i++){ g[i].clear(); } for(int i=0;i<U;i++){ if(mp[{A[i],B[i]}]==false){ mp[{A[i],B[i]}]=true; } else{ mp[{A[i],B[i]}]=false; } } for(auto [a,t]:mp){ if(t==true){ g[a.ff].pb(a.ss); g[a.ss].pb(a.ff); } } for(int i=0;i<N;i++){ for(auto &x:g[i]){ x=H[x]; } sort(all(g[i])); } } int question(int x, int y, int v) { int ans=1e9; if(g[x].empty()||g[y].empty()) return ans; { int j=0; for(int i=0;i<g[x].size();i++){ while(j<(int)g[y].size()&&g[y][j]<g[x][i]){ j++; } if(j<(int)g[y].size()){ ans=min(ans,g[y][j]-g[x][i]); } } } { int j=0; for(int i=0;i<g[y].size();i++){ while(j<(int)g[x].size()&&g[x][j]<g[y][i]){ j++; } if(j<(int)g[x].size()){ ans=min(ans,g[x][j]-g[y][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...