제출 #1338705

#제출 시각아이디문제언어결과실행 시간메모리
1338705athenaCircle Passing (EGOI24_circlepassing)C++20
42 / 100
72 ms156792 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long int
int dist(int a,int b,int n)
{
  return min(abs(a-b),abs(2*n-abs(a-b)));
}
int32_t main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    int n,m,q;
    cin>>n>>m>>q;
    
    vector<int> f(2*n,-1);
    vector<int> ks(m);

    for (int i = 0; i < m; i++) {
        int k; cin >> k;
        ks[i] = k;//friend having ppl
        f[k] = k + n;
        f[k+n] = k;
    }
    while (q--){
        int x,y;
        cin>>x>>y;
        int ans=dist(x,y,n);
        //send to friends
            for (int k:ks) {
            int a=k,b=k+n;
            ans=min(ans,dist(x,a,n)+1+dist(b,y,n));
            ans=min(ans,dist(x,b,n)+1+dist(a,y,n));
        }
        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...