305B - Continued Fractions - CodeForces Solution


brute force implementation math *1700

Please click on ads to support us..

Python Code:

import sys, random, bisect
from collections import deque, defaultdict
from heapq import heapify, heappop, heappush
from itertools import permutations
from math import gcd, log

input = lambda :sys.stdin.readline().rstrip()
mi = lambda :map(int, input().split())
li = lambda :list(mi())

p, q = mi()
n = int(input())
a = li()

g = gcd(p, q)
p, q = p // g, q // g

u, v, id = a[n - 1], 1, n - 2
while id >= 0:
    u, v = v, u
    u = a[id] * v + u
    id = id - 1

g = gcd(u, v)
u, v = u // g, v // g

if u == p and v == q: print('YES')
else: print('NO')

  							 			    	  	 				 	 	


Comments

Submit
0 Comments
More Questions

1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition
1437A - Marketing Scheme
1473B - String LCM
1374A - Required Remainder
1265E - Beautiful Mirrors
1296A - Array with Odd Sum
1385A - Three Pairwise Maximums
911A - Nearest Minimums
102B - Sum of Digits
707A - Brain's Photos
1331B - Limericks