Submission #636866

#TimeUsernameProblemLanguageResultExecution timeMemory
636866beaconmcStrange Device (APIO19_strange_device)Pypy 3
0 / 100
70 ms20212 KiB
import sys input = lambda: sys.stdin.readline().strip() from math import * n,a,b = map(int, input().split()) ranges = [] for i in range(n): ranges.append(list(map(int, input().split()))) k = (lcm(a,b+1)//(b+1)) * b print(k) new = [] ans = 0 flag = False for i in ranges: if i[1]-i[0]+1 >= k: flag = True if i[0]%k > i[1]%k: new.append([i[0]%k,k-1]) new.append([0,i[1]%k]) else: new.append([i[0]%k, i[1]%k]) new.sort() realnew = [] if flag: print(k) else: cur = k for i in range(len(new)): if not realnew: realnew.append(new[i]) continue if realnew[-1][1] >= new[i][0]: realnew[-1][1] = max(realnew[-1][1],new[i][1]) else: realnew.append(new[i]) for i in realnew: ans += i[1]-i[0]+1 print(ans)
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...