結果

問題 No.837 Noelちゃんと星々2
ユーザー ああいい
提出日時 2022-02-23 17:22:09
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 129 ms / 2,000 ms
コード長 470 bytes
コンパイル時間 309 ms
コンパイル使用メモリ 82,524 KB
実行使用メモリ 110,680 KB
最終ジャッジ日時 2024-07-01 17:10:47
合計ジャッジ時間 4,080 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
Y = list(map(int,input().split()))
Y.sort()
s = set(Y)
import sys
if len(s) == 1:
    print(1)
    exit()
_sum = [0] * (N+1)
for i in range(N):
    _sum[i+1] = _sum[i] + Y[i]
ans = 10 ** 18

def func(l,r):
    mid = (l+r) // 2
    ans = _sum[r+1] - _sum[mid] - Y[mid] * (r-mid+1)
    ans += Y[mid] * (mid - l) - (_sum[mid] - _sum[l])
    return ans
for i in range(N-1):
    tmp = func(0,i) + func(i+1,N-1)
    if tmp < ans:
        ans = tmp
print(ans)
0