結果
問題 | No.2009 Drunkers' Contest |
ユーザー | CuriousFairy315 |
提出日時 | 2022-07-15 22:20:35 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 1,270 ms / 2,000 ms |
コード長 | 1,268 bytes |
コンパイル時間 | 3,599 ms |
コンパイル使用メモリ | 91,220 KB |
実行使用メモリ | 73,672 KB |
最終ジャッジ日時 | 2024-06-27 18:47:05 |
合計ジャッジ時間 | 50,774 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 132 ms
41,028 KB |
testcase_01 | AC | 130 ms
41,372 KB |
testcase_02 | AC | 131 ms
41,524 KB |
testcase_03 | AC | 123 ms
40,268 KB |
testcase_04 | AC | 117 ms
41,256 KB |
testcase_05 | AC | 131 ms
41,104 KB |
testcase_06 | AC | 127 ms
41,216 KB |
testcase_07 | AC | 120 ms
40,172 KB |
testcase_08 | AC | 129 ms
41,264 KB |
testcase_09 | AC | 119 ms
41,536 KB |
testcase_10 | AC | 133 ms
41,612 KB |
testcase_11 | AC | 135 ms
41,352 KB |
testcase_12 | AC | 135 ms
41,376 KB |
testcase_13 | AC | 136 ms
41,536 KB |
testcase_14 | AC | 219 ms
45,484 KB |
testcase_15 | AC | 223 ms
45,816 KB |
testcase_16 | AC | 223 ms
45,800 KB |
testcase_17 | AC | 238 ms
46,048 KB |
testcase_18 | AC | 245 ms
45,980 KB |
testcase_19 | AC | 256 ms
46,524 KB |
testcase_20 | AC | 262 ms
47,272 KB |
testcase_21 | AC | 270 ms
46,452 KB |
testcase_22 | AC | 268 ms
47,228 KB |
testcase_23 | AC | 271 ms
46,768 KB |
testcase_24 | AC | 1,180 ms
60,272 KB |
testcase_25 | AC | 1,163 ms
60,396 KB |
testcase_26 | AC | 1,166 ms
60,156 KB |
testcase_27 | AC | 1,053 ms
60,320 KB |
testcase_28 | AC | 1,136 ms
60,504 KB |
testcase_29 | AC | 1,114 ms
60,212 KB |
testcase_30 | AC | 1,168 ms
60,316 KB |
testcase_31 | AC | 1,184 ms
60,560 KB |
testcase_32 | AC | 1,154 ms
60,416 KB |
testcase_33 | AC | 1,175 ms
60,292 KB |
testcase_34 | AC | 1,168 ms
60,432 KB |
testcase_35 | AC | 1,166 ms
60,320 KB |
testcase_36 | AC | 1,123 ms
60,620 KB |
testcase_37 | AC | 1,196 ms
59,944 KB |
testcase_38 | AC | 1,182 ms
60,100 KB |
testcase_39 | AC | 1,181 ms
60,480 KB |
testcase_40 | AC | 1,172 ms
59,612 KB |
testcase_41 | AC | 1,201 ms
59,940 KB |
testcase_42 | AC | 1,159 ms
61,072 KB |
testcase_43 | AC | 1,189 ms
62,292 KB |
testcase_44 | AC | 1,178 ms
68,380 KB |
testcase_45 | AC | 1,164 ms
73,672 KB |
testcase_46 | AC | 1,253 ms
68,340 KB |
testcase_47 | AC | 1,120 ms
69,888 KB |
testcase_48 | AC | 1,102 ms
67,776 KB |
testcase_49 | AC | 1,160 ms
73,212 KB |
testcase_50 | AC | 1,052 ms
72,348 KB |
testcase_51 | AC | 1,149 ms
67,148 KB |
testcase_52 | AC | 1,046 ms
70,888 KB |
testcase_53 | AC | 1,113 ms
64,712 KB |
testcase_54 | AC | 1,161 ms
63,024 KB |
testcase_55 | AC | 1,231 ms
62,688 KB |
testcase_56 | AC | 1,270 ms
61,132 KB |
testcase_57 | AC | 1,237 ms
67,600 KB |
ソースコード
import static java.lang.System.err; import static java.lang.System.out; import java.util.ArrayDeque; public class Main { public static void main(String[] args) { new Main(); out.flush(); err.flush(); } static class Pair { double A, B; double min; double score; Pair(double A, double B) { this.A = A; this.B = B; min = Math.max(0, Math.sqrt(A / B) - 1); score = A / (min + 1) + B * (min + 1); } @Override public String toString() { return "(" + A + ", " + B + ", " + min + ", " + score + ")"; } } /** * @author 31536000(@CuriousFairy315) */ public Main() { try (java.util.Scanner sc = new java.util.Scanner(System.in)) { int N = sc.nextInt(); long[] A = new long[N], B = new long[N]; for (int i = 0;i < N;++ i) A[i] = sc.nextInt(); for (int i = 0;i < N;++ i) B[i] = sc.nextInt(); ArrayDeque<Pair> stack = new ArrayDeque<>(); for (int i = N - 1;i >= 0;-- i) { Pair push = new Pair(A[i], B[i]); while (!stack.isEmpty() && stack.peekLast().min < push.min) { Pair pop = stack.pollLast(); push = new Pair(push.A + pop.A, push.B + pop.B); } stack.add(push); // out.println(stack); } double ans = 0; for (Pair p : stack) ans += p.score; out.println(ans); } } }