結果
問題 |
No.512 魔法少女の追いかけっこ
|
ユーザー |
![]() |
提出日時 | 2017-05-08 23:36:28 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,566 bytes |
コンパイル時間 | 102 ms |
コンパイル使用メモリ | 29,312 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 06:24:12 |
合計ジャッジ時間 | 1,305 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 48 WA * 5 |
ソースコード
#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; }