結果
問題 | No.275 中央値を求めよ |
ユーザー |
|
提出日時 | 2019-08-12 01:41:42 |
言語 | JavaScript (node v23.5.0) |
結果 |
AC
|
実行時間 | 70 ms / 1,000 ms |
コード長 | 1,449 bytes |
コンパイル時間 | 191 ms |
コンパイル使用メモリ | 6,816 KB |
実行使用メモリ | 43,264 KB |
最終ジャッジ日時 | 2024-10-13 01:19:09 |
合計ジャッジ時間 | 3,816 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
ソースコード
function Main(input) {Array.prototype.swap = function (a, b) {var tmp = this[a]this[a] = this[b]this[b] = tmpreturn this}function quickSort(a) {var recurse = function (a, i, j) {var k, p = pivot(a, i, j)if (p !== -1) {k = partition(a, i, j, a[p])recurse(a, i, k - 1)recurse(a, k, j)}return a},pivot = function (a, i, j) {var k = i + 1while (k <= j && a[i] === a[k]) {k++}if (k > j) {return -1}if (a[i] >= a[k]) {return i}return k},partition = function (a, i, j, p) {var l = i, r = jwhile (l <= r) {while (l <= j && a[l] < p) {l++}while (r >= i && a[r] >= p) {r--}if (l > r) {break}a.swap(l++, r--)}return l}return recurse(a, 0, a.length - 1)}const data = input.trim().split("\n")const N = parseInt(data[0])let array = data[1].split(" ").map(n => { return parseInt(n) })array = quickSort(array)switch (N % 2) {case 0:console.log((array[array.length / 2] + array[array.length / 2 - 1]) / 2)breakcase 1:console.log(array[~~(array.length / 2)])break}}Main(require("fs").readFileSync("/dev/stdin", "utf8"))