CF305B Continued Fractions

题目描述

一个高度为 $n$ 的连分数是如下形式的分数:![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF305B/19ade84928d3d628a6e212b03adbbf8bc0856736.png)。你得到了两个有理数,一个以 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF305B/ae456f9650d5b3ca46e54c303d07fec088f6ad5e.png) 的形式给出,另一个以有限连分数(高度为 $n$)的形式给出。请判断这两个分数是否相等。

输入格式

第一行包含两个用空格分隔的整数 $p,q$ $(1\leq q\leq p\leq 10^{18})$,表示第一个分数的分子和分母。 第二行包含一个整数 $n$ $(1\leq n\leq 90)$,表示第二个分数的高度。 第三行包含 $n$ 个用空格分隔的整数 $a_{1},a_{2},...,a_{n}$ $(1\leq a_{i}\leq 10^{18})$,表示该连分数。 请不要在 C++ 中使用 %lld 来读写 64 位整数,请优先使用 cin、cout 流或 %I64d。

输出格式

如果两分数相等,则输出 "YES";否则输出 "NO"。

说明/提示

在第一个样例中:![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF305B/a7429bd0927ab226e00de904e1ba240c58b09318.png)。 在第二个样例中:![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF305B/a01a984749367ddde5131c663127bc347e31f0a2.png)。 在第三个样例中:![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF305B/4db9464841d1b99996f6c98f75df85058aee123f.png)。 由 ChatGPT 5 翻译