#include "stdio.h" int main() { //変数を宣言し、配列はforで初期化する。 //役割は、順番に「koboの速度」「師匠の速度」「交差点の数」「交差点の位置」。 //問題では到達の可否を調べているのであって、何秒かかるとかはどうでもいいので、 //簡単化のために単位のことは忘れることにする。 int X = 0, Y = 0, N = 0; long A[90]; for (int i = 0; i < 90; i++) { A[i] = 0; } //scanfで変数の値を入力。 //AはforをN回やってとる scanf("%d %d",&X,&Y); scanf("%d",&N); for (int i = 0; i < N; i++) { scanf("%ld", &A[i]); } //koboがそれぞれの交差点に達したときの、師匠のいる位置を見て答えを出すことにする。 //Xがどこの交差点にいるかを変数にしておく。 int Xpoint = 0; //XがXpointの交差点にたどりつくための時間を計算する、ための変数。 //これは小数になりうるのでdouble型。 double time = 0.0; while (1) { time = ((double)A[Xpoint] / (double)X); //XがN(添え字ではN-1)の交差点にたどりつければ、Xは最後までYを追いかけられたことになる。 if (Xpoint == N - 1) { printf("YES\n"); break; } //もしXがXpointの交差点にたどりついた時点で、Yがその次の交差点の位置より先にいるなら、 //Xは最後までYを追いかけられない。 if ( (double)(Y * time) > (double)(A[Xpoint + 1]) ) { printf("NO\n"); break; } Xpoint++; } return 0; }