結果
問題 | No.275 中央値を求めよ |
ユーザー |
![]() |
提出日時 | 2016-01-01 19:54:05 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 215 ms / 1,000 ms |
コード長 | 1,167 bytes |
コンパイル時間 | 2,237 ms |
コンパイル使用メモリ | 77,732 KB |
実行使用メモリ | 43,248 KB |
最終ジャッジ日時 | 2024-06-24 23:38:06 |
合計ジャッジ時間 | 10,697 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
//275 median /* median array -> sort -> average between 2 number in array's central */ import java.util.Scanner; class Median { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] arrayInt = new int[n]; //順番に配列に挿入 for(int i = 0; i < arrayInt.length; i++) { arrayInt[i] = in.nextInt(); } //数の大きい順にソート for(int i = 0; i < arrayInt.length - 1; i++) { for(int j = arrayInt.length - 1; j > i; j--) { if(arrayInt[j] < arrayInt[j - 1]) { int t = arrayInt[j]; arrayInt[j] = arrayInt[j - 1]; arrayInt[j - 1] = t; } } } if(n % 2 == 1) { int b = (n + 1) / 2; System.out.println(arrayInt[b - 1]); } else { double b = ((n + 1.0) / 2.0); int c = (int)((b - 0.5) - 1); int d = (int)((b + 0.5) - 1); double e = (arrayInt[c] + arrayInt[d]) / 2.0; System.out.println(e); } } }