Submission #1232075

#TimeUsernameProblemLanguageResultExecution timeMemory
1232075coco2311Circle Passing (EGOI24_circlepassing)C++17
56 / 100
2094 ms1820 KiB
#include <iostream>
using namespace std;

int main(){
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//    freopen("input.in","r",stdin);
    int N,M,Q; cin>>N>>M>>Q;
    int f[M];
    for(int i=0;i<M;i++){
        cin>>f[i];
    }
    int x,y;
    int d,w,dxk,dyk,dxk1,dyk1;
    for(int i=0;i<Q;i++){
        cin>>x>>y;
        d=x-y;
        if(d<0){
            d*=-1;
        }
        if(d>N){
            d=(2*N)-d;
        }
        for(int j=0;j<M;j++){
            dxk=x-f[j];
            if(dxk<0){
                dxk*=-1;
            }
            if(dxk>N){
                dxk=(2*N)-dxk;
            }

            dyk1=y-(f[j]+N);
            if(dyk1<0){
                dyk1*=-1;
            }
            if(dyk1>N){
                dyk1=(2*N)-dyk1;
            }

            if(dyk1+dxk+1<d){
                d=dyk1+dxk+1;
            }



            dyk=y-f[j];
            if(dyk<0){
                dyk*=-1;
            }
            if(dyk>N){
                dyk=(2*N)-dyk;
            }

            dxk1=x-(f[j]+N);
            if(dxk1<0){
                dxk1*=-1;
            }
            if(dxk1>N){
                dxk1=(2*N)-dxk1;
            }

            if(dxk1+dyk+1<d){
                d=dxk1+dyk+1;
            }
        }
        cout<<d<<'\n';
    }
}
#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...