def new_state(a, b, current_state):
if (x := current_state * b) >= (b := current_state + a):
return x
return b
def read_input_stream():
n, q = [int(x) for x in input().split(' ')]
a_b_pairs = []
for i in range(n):
a_b_pairs.append(tuple(map(int, input().split(' '))))
xlr_triplets = []
for i in range(q):
xlr_triplets.append(tuple(map(int, input().split(' '))))
return a_b_pairs, xlr_triplets
def read_input(file):
n, q = map(int, file.readline().split())
a_b_pairs = []
for _ in range(n):
a_b_pairs.append(tuple(map(int, file.readline().split())))
xlr_triplets = []
for _ in range(q):
xlr_triplets.append(tuple(map(int, file.readline().split())))
return a_b_pairs, xlr_triplets
modulo = 10 ** 9 + 7
def calculate(xlr_triplets, ab_pairs):
for x, l, r in xlr_triplets:
result = x
for i in range(l, r):
result = new_state(ab_pairs[i][0], ab_pairs[i][1], result) % modulo
print(result % modulo)
if __name__ == '__main__':
ab_pairs, xlr_triplets = read_input_stream()
# with open("input.txt", "r") as f:
# ab_pairs, xlr_triplets = read_input(f)
# import time
# s = time.time()
calculate(xlr_triplets, ab_pairs)
# e = time.time()
# print(e-s)
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 44 45 46 47 48 49 50 51 52 53 | def new_state(a, b, current_state): if (x := current_state * b) >= (b := current_state + a): return x return b def read_input_stream(): n, q = [int(x) for x in input().split(' ')] a_b_pairs = [] for i in range(n): a_b_pairs.append(tuple(map(int, input().split(' ')))) xlr_triplets = [] for i in range(q): xlr_triplets.append(tuple(map(int, input().split(' ')))) return a_b_pairs, xlr_triplets def read_input(file): n, q = map(int, file.readline().split()) a_b_pairs = [] for _ in range(n): a_b_pairs.append(tuple(map(int, file.readline().split()))) xlr_triplets = [] for _ in range(q): xlr_triplets.append(tuple(map(int, file.readline().split()))) return a_b_pairs, xlr_triplets modulo = 10 ** 9 + 7 def calculate(xlr_triplets, ab_pairs): for x, l, r in xlr_triplets: result = x for i in range(l, r): result = new_state(ab_pairs[i][0], ab_pairs[i][1], result) % modulo print(result % modulo) if __name__ == '__main__': ab_pairs, xlr_triplets = read_input_stream() # with open("input.txt", "r") as f: # ab_pairs, xlr_triplets = read_input(f) # import time # s = time.time() calculate(xlr_triplets, ab_pairs) # e = time.time() # print(e-s) |
English