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

#define ll long long

pair <ll,ll> seg[1002];

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

	ll n,s,ret=0; cin >> n;
	int m,src; cin >> m >> s;
	for(int i=1; i<=m; i++) cin >> seg[i].first >> seg[i].second;
  sort(seg+1, seg+m+1);

  for(int i=1; i<=m; i++)
    if(s >= seg[i].first && s <= seg[i].second) src = i;

  int act = src;
  while(true)
  {
    if(act == 1)
    {
      if(seg[act].first > 1) ret = seg[act].first-1;
      break;
    }
    else if(seg[act].first-1 != seg[act-1].second)
    {
      ret = seg[act].first-1;
      break;
    }
    else act--;
  }
  act = src;
  while(true)
  {
    if(act == m)
    {
      if(seg[act].second < n)
      {
        if(!ret) ret = seg[act].second+1;
        else if(seg[act].second+1-s < s-ret) ret = seg[act].second+1;
      }
      break;
    }
    else if(seg[act].second+1 != seg[act+1].first)
    {
      if(!ret) ret = seg[act].second+1;
      else if(seg[act].second+1-s < s-ret) ret = seg[act].second+1;
      break;
    }
    else act++;
  }
  cout << ret << '\n';
}