結果
問題 | 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/*medianarray -> 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);}}}