n, m, s = map(int, input().split(' ')) a = [] iss = False for _ in range(m): p, q = map(int, input().split(' ')) a += [(p, q)] iss |= p <= s and s <= q if not iss: a += [(s, s)] m += 1 a.sort() best = int(1e16) best_p = -1 i = 0 while i < m: p = a[i][0] while i < m - 1 and a[i + 1][0] - a[i][1] == 1: i += 1 q = a[i][1] if p - 1 >= 1 and abs(s - (p - 1)) < best: best = abs(s - (p - 1)) best_p = p - 1 if q + 1 <= n and abs(s - (q + 1)) < best: best = abs(s - (q + 1)) best_p = q + 1 i += 1 print(best_p)
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 | n, m, s = map(int, input().split(' ')) a = [] iss = False for _ in range(m): p, q = map(int, input().split(' ')) a += [(p, q)] iss |= p <= s and s <= q if not iss: a += [(s, s)] m += 1 a.sort() best = int(1e16) best_p = -1 i = 0 while i < m: p = a[i][0] while i < m - 1 and a[i + 1][0] - a[i][1] == 1: i += 1 q = a[i][1] if p - 1 >= 1 and abs(s - (p - 1)) < best: best = abs(s - (p - 1)) best_p = p - 1 if q + 1 <= n and abs(s - (q + 1)) < best: best = abs(s - (q + 1)) best_p = q + 1 i += 1 print(best_p) |