結果

問題 No.553 AlphaCoder Rating
ユーザー fal_rnd
提出日時 2017-08-11 23:04:25
言語 Java11
(openjdk 11.0.5)
結果
AC  
実行時間 267 ms
コード長 1,083 Byte
コンパイル時間 1,880 ms
使用メモリ 26,500 KB
最終ジャッジ日時 2019-12-29 01:05:47

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
0sample1 AC 254 ms
26,440 KB
0sample2 AC 248 ms
26,436 KB
0sample3 AC 258 ms
26,436 KB
1codera_iroha AC 258 ms
26,444 KB
1leafmoon AC 252 ms
26,444 KB
1yuki2006 AC 262 ms
26,468 KB
2random1 AC 258 ms
26,476 KB
2random2 AC 256 ms
26,452 KB
2random3 AC 252 ms
26,500 KB
2random4 AC 255 ms
26,456 KB
2random5 AC 261 ms
26,496 KB
2random6 AC 257 ms
26,464 KB
2random7 AC 265 ms
26,488 KB
2random8 AC 267 ms
26,476 KB
2random9 AC 261 ms
26,448 KB
テストケース一括ダウンロード

ソースコード

diff #
import java.util.Scanner;
import java.util.stream.IntStream;

public class Main{
	static IntStream REPS(int v){return IntStream.range(0,v);}
	static IntStream REPS(int l,int r){return IntStream.rangeClosed(l,r);}
	static IntStream INS(int n) {return REPS(n).map(i->getInt());}
	static Scanner s=new Scanner(System.in);
	static int getInt(){return Integer.parseInt(s.next());}

	static final double finf=0.22941573387056172;
	public static void main(String[]$){
		int n=getInt(),perf[]=INS(n).toArray();
		System.out.println(
				(int)(gin(
						REPS(1,n).mapToDouble(i->g(perf[i-1])*Math.pow(0.9,i))
						.sum()
						/REPS(1,n).mapToDouble(i->Math.pow(0.9,i)).sum()
						)
				-f(n))
				);
	}
	private static double F(int n){
		return Math.sqrt(REPS(1,n).mapToDouble(i->Math.pow(0.81,i)).sum())
		/REPS(1,n).mapToDouble(i->Math.pow(0.9,i)).sum();
	}
	private static double f(int n){
		return (F(n)-finf)/(F(1)-finf)*1200;
	}
	private static double g(double n){
		return Math.pow(2,n/800.0);
	}
	private static double gin(double n){
		return 800*Math.log10(n)/Math.log10(2);
	}
}
0