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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <bits/stdc++.h>
using namespace std;

#define ll long long

pair<ll, ll> zaj[1007];

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    ll n, m, s;
    cin >> n >> m >> s;
    for (int i = 0; i < m; i++) {
        cin >> zaj[i].first >> zaj[i].second;
    }

    sort(zaj, zaj + m);
    
    int p = 0;
    while (zaj[p].second < s) p++;

    pair<ll, ll> wyn = {n, n};
    
    int za = p;
    while (za < m - 1 && zaj[za].second + 1 == zaj[za + 1].first) za++;

    if (zaj[za].second + 1 <= n) {
        wyn = min(wyn, {(zaj[za].second + 1) - s, (zaj[za].second + 1)});
    }

    int przed = p;
    while (przed > 0 && zaj[przed - 1].second + 1 == zaj[przed].first) przed--;

    if (zaj[przed].first - 1 >= 1) {
        wyn = min(wyn, {s - (zaj[przed].first - 1), (zaj[przed].first - 1)});
    }

    //cout << "za = " << za << " przed = " << przed << "\n";
    cout << wyn.second << "\n";

    // cout << "p = " << p << "\n";
    // for (int i = 0; i < m; i++) {
    //     cout << zaj[i].first << " " << zaj[i].second << "\n";
    // }
}