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
47
48
49
50
51
52
53
#include <iostream>
#include <algorithm>

using namespace std;

typedef long long ll;
typedef pair<ll, ll> ll2;

const int N = 1009;
ll2 S[N];

int main() {

    ios_base::sync_with_stdio(0);
    cin.tie(0);

    ll n, p;
    int m; cin >> n >> m >> p;
    for(int i = 1; i <= m; ++i) {
        cin >> S[i].first >> S[i].second;
    }
    sort(S+1, S+m+1);
    ll l = 0;
    if(S[1].first != 1) {
        l = S[1].first-1;
    }
    for(int i = 2; i <= m; ++i) {
        if(S[i].first <= p && S[i].first > S[i-1].second+1) {
            l = S[i].first-1;
        }
    }
    ll r = n+1;
    if(S[m].second != n) {
        r = S[m].second+1;
    }
    for(int i = m-1; i >= 1; --i) {
        if(S[i].second >= p && S[i].second < S[i+1].first-1) {
            r = S[i].second+1;
        }
    }
    if(l == 0) {
        cout << r << "\n";
    }
    else if(r == n+1) {
        cout << l << "\n";
    }
    else if(r-p < p-l) {
        cout << r << "\n";
    }
    else cout << l << "\n";

    return 0;
}