Submission #1151472

#TimeUsernameProblemLanguageResultExecution timeMemory
1151472SyedSohaib_123Circle Passing (EGOI24_circlepassing)C++20
100 / 100
284 ms47556 KiB
#include <bits/stdc++.h> using namespace std; #define append push_back #define int long long const int N=2e5+10,LG=21; int mod=998244353; void solve(int tst){ int n,m,q; cin>>n>>m>>q; set<int>s; for(int i=0;i<m;i++){ int x; cin>>x; s.insert(x); s.insert(x+n); } while(q--){ int a,b; cin>>a>>b; int md=abs(a-b); md=min(md,2*n-md); int x=0; if(a<*s.begin()){ x=*--s.end(); } else x=*--s.upper_bound(a); int y=(x+n)%(2*n); md=min({md,min(abs(a-x),2*n-abs(a-x))+1+min(abs(b-y),2*n-abs(b-y))}); if(a>=*--s.end()){ x=*s.begin(); } else x=*s.upper_bound(a); y=(x+n)%(2*n); md=min({md,min(abs(a-x),2*n-abs(a-x))+1+min(abs(b-y),2*n-abs(b-y))}); cout<<md<<endl; } } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; // cin >> t; for(int i=1;i<=t;i++) solve(i); }
#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...