Submission #1151505

#TimeUsernameProblemLanguageResultExecution timeMemory
1151505Muhammad_AneeqCircle Passing (EGOI24_circlepassing)C++20
14 / 100
65 ms3140 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)

Main.cpp:9:2: warning: #warning check the output [-Wcpp]
    9 | #warning check the output
      |  ^~~~~~~
#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...