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
# moze w Pythonie przejdzie?

n, m, s = map(int, input().split())
tab = []

for i in range(m):
    l, r = map(int, input().split())
    tab.append((l,r))

#print(n,m,s)
#print(tab)

tab.sort()

sBud = next((i for i, (l,r) in enumerate(tab) if l<=s<=r), -1)


#print(tab)
#print(sBud)

pop = tab[sBud]
nex = tab[sBud]

for i in range(sBud-1,-1,-1):
    if(tab[i][1]+1!=pop[0]):
        break
    pop=tab[i]
    
#print(pop)

for i in range(sBud+1,m):
    if(tab[i][0]-1!=nex[1]):
        break
    nex=tab[i]

#print(nex) 
   
wl = pop[0]-1
wr = nex[1]+1

wl = 1000000000000000 if wl<1 else wl
wr = 1000000000000000 if wr>n else wr

rwl =abs(s-wl)
rwr =abs(s-wr)

wyn = wl if rwl<=rwr else wr

if rwl == rwr:
    wyn = wl if wl<wr else wr
    
print(wyn)