Submission #1147307

#TimeUsernameProblemLanguageResultExecution timeMemory
1147307samiaCircle Passing (EGOI24_circlepassing)C++20
20 / 100
2110 ms434452 KiB
#include <bits/stdc++.h> #include <iostream> using namespace std; int main() { int n,m,q; cin>>n>>m>>q; int bestie; int b; map<int,int>p; for(int so=0;so<=2*n;so++){p[so]=-1;} for(int so=0;so<m;so++){ cin>>bestie; b=(bestie+n)%(2*n); p[bestie]=b; p[b]=bestie; } int x,y; int ans=0; while(q--){ cin>>x>>y; ans=min(abs(x-y),(2*n)-abs(x-y)); int v=(x-((n+1)/2)); //cout<<v<<endl; if(v<0){v=(2*n)+v;} //cout<<v<<endl; for(int so=v;so<=v+n;so++){ int ro=(so%(2*n)); if(p[ro]!=-1){ // cout<<min((2*n)-abs(p[ro]-y),abs(p[ro]-y))+1+min((2*n)-abs(x-ro),abs(ro-x))<<" "<<ro<<endl; ans=min(ans,min((2*n)-abs(p[ro]-y),abs(p[ro]-y))+1+min((2*n)-abs(x-ro),abs(ro-x))); } } cout<<ans<<endl; } }
#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...