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
#include <bits/stdc++.h>
using namespace std;


int main() {
	ios_base::sync_with_stdio(0);
	int i, sr = 0, m;
	long long n, s, l, p;
	cin >> n >> m >> s;
	vector<pair<long long,long long> > zajete(m);
	for(i = 0; i < m; i++) {
		cin >> zajete[i].first >> zajete[i].second;
	}
	sort(zajete.begin(), zajete.end());
	for(i = 0; i < m; i++){
		if(zajete[i].first <= s && zajete[i].second >= s) {
			sr = i;
			break;
		}
	}
	//cout << "sr " << sr << endl;
	l = -2*n-2; p = 3*n + 2;
	if (zajete[0].first > 1) l = zajete[0].first - 1;
	if (zajete[m-1].second < n) p = zajete[m-1].second + 1;
	for(i = sr - 1; i >= 0; i--){
		if(zajete[i].second  < zajete[i+1].first - 1){
			l = zajete[i + 1].first - 1;
			break;
		}
	}
	for(i = sr + 1; i < m; i++){
		if(zajete[i-1].second  < zajete[i].first - 1){
			p = zajete[i-1].second + 1;
			break;
		}
	}
	//cout <<" l " << l << endl;
	//cout <<" p " << p << endl;
	if (s - l <= p - s) cout << l;
	else cout << p;
	
	return 0;
}