AtCoder ABC 078 A&B&C
A問題
- characterとして比較すれば大小がわかる
private void solveA() {
char x = next().charAt(0);
char y = next().charAt(0);
out.println(x < y ? "<" : x > y ? ">" : "=");
}
B問題
- 出力例1を参考にする
private void solveB() {
int numX = nextInt();
int numY = nextInt();
int numZ = nextInt();
int res = (numX - numZ) / (numY + numZ);
out.println(res);
}
C問題
【一回のテストにかかる時間:x】
$X = 1900M + 100(N-M)$
【確率:p】
$p=1 / 2^m$
【期待値:y】
$y=X + (1-p)(A=かかる時間)$
- $(1-p)(A=かかる時間)$は、$(1-p)$の確率で追加のテストケースを通すのにかかる時間のこと
- $X$は初回にかかる時間
$(A=かかる時間)$ は、{$X$}ではなく、{$y$}
そのため【期待値:y】は、 $y=X + (1-p)y$ となる。
これを解くと、 $y=X/p$ となる。
上記より、$y=(1900M + 100(numN-numM)) * 2^m$ が導ける。
private void solveC() {
int numN = nextInt();
int numM = nextInt();
long ans = 1900 * numM + 100 * (numN - numM);
long res = (long) (ans * Math.pow(2, numM));
out.println(res);
}