結果
| 問題 | 
                            No.837 Noelちゃんと星々2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2021-01-19 02:09:41 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,265 bytes | 
| コンパイル時間 | 495 ms | 
| コンパイル使用メモリ | 82,096 KB | 
| 実行使用メモリ | 112,172 KB | 
| 最終ジャッジ日時 | 2024-12-15 02:17:44 | 
| 合計ジャッジ時間 | 7,651 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 12 WA * 17 | 
ソースコード
#region Header
#!/usr/bin/env python3
# from typing import *
import sys
import io
import math
import collections
import decimal
import itertools
from queue import PriorityQueue
import bisect
import heapq
def input():
    return sys.stdin.readline()[:-1]
sys.setrecursionlimit(1000000)
#endregion
# _INPUT = """5
# 0 1 6 7 8
# """
# sys.stdin = io.StringIO(_INPUT)
def main():
    N = int(input())
    Y = sorted(list(map(int, input().split())))
    # 累積和
    S = [0]
    for i in range(N):
        S.append(S[-1] + Y[i])
    d_min = 10**10
    for k in range(1, N):
        # Y[:k] と Y[k:] に分割
        i1 = (k-1)//2
        y1 = Y[i1]
        i2 = k + (N-k-1)//2
        y2 = Y[i2]
        if y1 == y2:
            d = 1
        else:
            # d1 = sum(y1 - Y[i] for i in range(0, i1)) + sum(Y[i] - y1 for i in range(i1, k))
            # d2 = sum(y2 - Y[i] for i in range(k, i2)) + sum(Y[i] - y2 for i in range(i2, N))
            d1 = (y1 * i1 - S[i1]) + (S[k] - S[i1] - y1 * (k - i1))
            d2 = (y2 * (i2 - k) - (S[i2] - S[k])) + (S[N] - S[i2] - y2 * (N - i2))
            d = d1 + d2
        d_min = min(d_min, d)
    print(d_min)
if __name__ == '__main__':
    main()