| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1151505 | Muhammad_Aneeq | Circle Passing (EGOI24_circlepassing) | C++20 | 65 ms | 3140 KiB |
/*
بسم الله الرحمن الرحيم
Author:
(:Muhammad Aneeq:)
*/
#include <iostream>
#include <algorithm>
#warning check the output
using namespace std;
int n,m,q;
int dis(int x,int y)
{
return min(abs(x-y),2*n-abs(x-y));
}
inline void solve()
{
cin>>n>>m>>q;
m*=2;
int k[m]={};
for (int i=0;i<m;i+=2)
{
int x;
cin>>x;
k[i]=x;
k[i+1]=x+n;
}
sort(k,k+m);
while (q--)
{
int x,y;
cin>>x>>y;
int ind=lower_bound(k,k+m,x)-k;
int ans=dis(x,y);
ind%=m;
ans=min(ans,dis(x,(k[ind])%(2*n))+dis((k[ind]+n)%(2*n),y)+1);
ind--;
ind=(ind+m)%m;
ans=min(ans,dis(x,(k[ind]+n)%(2*n))+dis((k[ind]+n)%(2*n),y)+1);
cout<<ans<<endl;
}
}
int main()
{
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int t=1;
for (int i=1;i<=t;i++)
{
solve();
}
}Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
