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
#include<iostream>
#include<vector>
#include<utility>
#include<algorithm>
#define ll long long
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    ll n,m,s,a,b;
    cin>>n>>m>>s;
    vector < pair < ll,ll > > tab;
    for(int i = 0;i<m;++i){
        cin>>a>>b;
        tab.push_back({a,b});
    }
    sort(tab.begin(),tab.end());
    int i = 0;
    while(i+1<tab.size()){
        if(tab[i].second+1==tab[i+1].first){
            tab[i+1].first = tab[i].first;
            tab.erase(tab.begin()+i,tab.begin()+i+1);
            --i;
        }
        i+=1;
    }
    for (auto p : tab){

        if(s>=p.first && s<=p.second){
            if(p.first==1){
                cout<<p.second+1;
            }
            else if(p.second==n){
                cout<<p.first-1;
            }
            else{
                if(abs(p.first-s)<=abs(p.second-s)){
                    cout<<p.first-1;
                }
                else{
                    cout<<p.second+1;
                }
            }
            break;
        }
    }
}