結果
| 問題 |
No.553 AlphaCoder Rating
|
| ユーザー |
|
| 提出日時 | 2017-08-12 00:45:21 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 135 ms / 1,500 ms |
| コード長 | 1,035 bytes |
| コンパイル時間 | 2,373 ms |
| コンパイル使用メモリ | 80,968 KB |
| 実行使用メモリ | 54,328 KB |
| 最終ジャッジ日時 | 2024-10-12 22:37:00 |
| 合計ジャッジ時間 | 4,786 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 12 |
ソースコード
import java.util.Arrays;
import java.util.Scanner;
import javax.swing.JFrame;
public class Main {
void run() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] pf = new int[n];
for (int i = 0; i < n; ++i) {
pf[i] = sc.nextInt();
}
double[] F = new double[n + 1];
double[] f = new double[n + 1];
double F_inf = (Math.sqrt((0.81) / (1 - 0.81))) / ((0.9) / (1 - 0.9));
for (int i = 1; i <= n; ++i) {
double u = 0;
double l = 0;
for (int j = 1; j <= i; ++j) {
u += Math.pow(0.81, j);
l += Math.pow(0.9, j);
}
F[i] = Math.sqrt(u) / l;
f[i] = (F[i] - F_inf) / (F[1] - F_inf) * 1200;
}
double u = 0, l = 0;
for (int j = 1; j <= n; ++j) {
u += Math.pow(2, 1d * pf[j - 1] / 800) * Math.pow(0.9, j);
l += Math.pow(0.9, j);
}
System.out.println((int) (Math.log(u / l) / Math.log(2) * 800 - f[n]));
}
static void tr(Object... objects) {
System.out.println(Arrays.deepToString(objects));
}
public static void main(String[] args) {
new Main().run();
}
}