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() |