Submission #1168179

#TimeUsernameProblemLanguageResultExecution timeMemory
1168179SheepHeadsCircle Passing (EGOI24_circlepassing)C++20
14 / 100
7 ms584 KiB
#include <bits/stdc++.h>
#include <functional>
#define int long long
using namespace std;

int n, m, q;
const int INF = 1e9+7;

// vector<vector<int>> adjList;
// vector<int> dist;
// bitset<500000000> bf;

// void bfs(int node){
//     dist.at(node) = 0;

//     queue<int> que;
//     que.push(node);

//     while(!que.empty()){
//         int cur = que.front();
//         que.pop();

//         for(auto itr : adjList.at(cur)){
//             if(dist.at(itr) == INF){
//                 dist.at(itr) = dist.at(cur)+1;
//                 que.push(itr);
//             }
//         }
//     }
// }

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    cin>>n>>m>>q;

    // adjList = vector<vector<int>>(2*n);
    // dist = vector<int>(2*n, INF);
    int bf;

    for(int i = 0; i<m; i++){
        cin>>bf;
        // adjList.at(x).push_back(x+n);
        // adjList.at(x+n).push_back(x);

        // bf[x] = 1;

    }

    // adjList.at(0).push_back(2*n-1);
    // adjList.at(0).push_back(1);

    // adjList.at(2*n-1).push_back(0);
    // adjList.at(2*n-1).push_back(2*n-2);

    // for(int i = 1; i<2*n-1; i++){
    //     adjList.at(i).push_back(i+1);
    //     adjList.at(i).push_back(i-1);
    // }

    // bfs(0);

    while(q--){
        int x, y;
        cin>>x>>y;

        int dist1 = min(abs(y-bf), bf+2*n-y);
        int dist2 = min(abs(y-(bf+n)), 2*n-(bf+n)+y);

        if(x < n){
            cout << min(dist1, dist2+1) << "\n";
        }else{
            cout << min(dist1+1, dist2) << "\n";
        }
    }

    return 0;
}
#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...