結果
問題 | No.450 ベー君のシャトルラン |
ユーザー |
![]() |
提出日時 | 2017-11-04 19:38:31 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 150 ms / 2,000 ms |
コード長 | 1,167 bytes |
コンパイル時間 | 2,294 ms |
コンパイル使用メモリ | 77,836 KB |
実行使用メモリ | 41,728 KB |
最終ジャッジ日時 | 2024-11-24 01:12:06 |
合計ジャッジ時間 | 6,530 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.util.Arrays; import java.util.LinkedList; import java.util.Scanner; public class Main { public static long MOD = 1000000007; public static double[] run(double d, double w, double vl, double vr){ double running = 0; final double go_right_t = d / (w + vr); running += w * go_right_t; d -= go_right_t * (vl + vr); final double go_left_t = d / (w + vl); running += w * go_left_t; d -= go_left_t * (vl + vr); return new double[]{d, running}; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); final double vl = sc.nextDouble(); final double vr = sc.nextDouble(); final double d = sc.nextDouble(); final double w = sc.nextDouble(); double[] first_try = run(d, w, vl, vr); final double second_d = first_try[0]; double[] second_try = run(second_d, w, vl, vr); final double first_run = first_try[1]; final double second_run = second_try[1]; final double rate = second_run / first_run; final double limit = first_run / (1 - rate); //System.out.println(first_run + " " + second_run + " " + rate + " " + limit); System.out.printf("%.8f\n", limit); } }