def main():
import sys
data = sys.stdin.read().strip().split()
if not data:
return
n = int(data[0])
m = int(data[1])
s = int(data[2])
intervals = []
pos = 3
for _ in range(m):
l = int(data[pos])
r = int(data[pos + 1])
pos += 2
intervals.append((l, r))
intervals.sort(key=lambda x: x[0])
free_intervals = []
if intervals[0][0] > 1:
free_intervals.append((1, intervals[0][0] - 1))
for i in range(len(intervals) - 1):
if intervals[i][1] + 1 < intervals[i + 1][0]:
free_intervals.append((intervals[i][1] + 1, intervals[i + 1][0] - 1))
if intervals[-1][1] < n:
free_intervals.append((intervals[-1][1] + 1, n))
best = None
best_distance = None
for a, b in free_intervals:
if s < a:
candidate = a
dist = a - s
elif s > b:
candidate = b
dist = s - b
else:
candidate = s
dist = 0
if best_distance is None or dist < best_distance or (dist == best_distance and candidate < best):
best_distance = dist
best = candidate
sys.stdout.write(str(best))
if __name__ == '__main__':
main()
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 | def main(): import sys data = sys.stdin.read().strip().split() if not data: return n = int(data[0]) m = int(data[1]) s = int(data[2]) intervals = [] pos = 3 for _ in range(m): l = int(data[pos]) r = int(data[pos + 1]) pos += 2 intervals.append((l, r)) intervals.sort(key=lambda x: x[0]) free_intervals = [] if intervals[0][0] > 1: free_intervals.append((1, intervals[0][0] - 1)) for i in range(len(intervals) - 1): if intervals[i][1] + 1 < intervals[i + 1][0]: free_intervals.append((intervals[i][1] + 1, intervals[i + 1][0] - 1)) if intervals[-1][1] < n: free_intervals.append((intervals[-1][1] + 1, n)) best = None best_distance = None for a, b in free_intervals: if s < a: candidate = a dist = a - s elif s > b: candidate = b dist = s - b else: candidate = s dist = 0 if best_distance is None or dist < best_distance or (dist == best_distance and candidate < best): best_distance = dist best = candidate sys.stdout.write(str(best)) if __name__ == '__main__': main() |
English