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