if __name__ == '__main__':
n, m, s = map(int, input().split(' '))
ranges = []
for _ in range(m):
l, r = map(int, input().split(' '))
ranges.append((l, r))
ranges.sort(key=lambda e: e[0])
free = []
if ranges[0][0] != 1:
free.append((1, ranges[0][1] - 1))
if ranges[-1][1] != n:
free.append((ranges[-1][1] + 1, n))
for idx in range(len(ranges) - 1):
if ranges[idx][1] + 1 <= ranges[idx + 1][0] - 1:
free.append((ranges[idx][1] + 1, ranges[idx + 1][0] - 1))
distances = []
for f in free:
distances.append((f[0], (abs(s - f[0]))))
distances.append((f[1], abs(s - f[1])))
distances.sort(key=lambda e: e[1])
filter(lambda e: e[1] == distances[0][0], distances)
print(distances[0][0])
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 | if __name__ == '__main__': n, m, s = map(int, input().split(' ')) ranges = [] for _ in range(m): l, r = map(int, input().split(' ')) ranges.append((l, r)) ranges.sort(key=lambda e: e[0]) free = [] if ranges[0][0] != 1: free.append((1, ranges[0][1] - 1)) if ranges[-1][1] != n: free.append((ranges[-1][1] + 1, n)) for idx in range(len(ranges) - 1): if ranges[idx][1] + 1 <= ranges[idx + 1][0] - 1: free.append((ranges[idx][1] + 1, ranges[idx + 1][0] - 1)) distances = [] for f in free: distances.append((f[0], (abs(s - f[0])))) distances.append((f[1], abs(s - f[1]))) distances.sort(key=lambda e: e[1]) filter(lambda e: e[1] == distances[0][0], distances) print(distances[0][0]) |
English