1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <algorithm>
#include <array>

int main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);
    long long n, m, s, guess;
    std::cin >> n >> m >> s;
    guess=8*n;
    std::array<long long, 2> * baj=new std::array<long long, 2>[m+2];
    baj[0][0]=0;
    baj[0][1]=0;
    baj[m+1][0]=n+1;
    baj[m+1][1]=n+1;
    for (int i=1; i<=m; i++) {
        std::cin >> baj[i][0] >> baj[i][1];
    }
    std::sort(baj, baj+m+2);
    for (int i=1; i<=m; i++) {
        if (((baj[i][0]-1)!=(baj[i-1][1])) and (std::abs(guess-s)>std::abs((baj[i][0]-1)-s))) {
            guess=(baj[i][0]-1);
        }
        if (((baj[i][1]+1)!=(baj[i+1][0])) and (std::abs(guess-s)>std::abs((baj[i][1]+1)-s))) {
            guess=(baj[i][1]+1);
        }
    }
    std::cout << guess << '\n';
    return 0;
}