結果

問題 No.609 Noelちゃんと星々
ユーザー tails1434
提出日時 2020-02-12 07:29:06
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 759 bytes
コンパイル時間 170 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 86,144 KB
最終ジャッジ日時 2024-10-02 09:53:08
合計ジャッジ時間 4,326 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 4 WA * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    N = int(input())
    Y = list(map(int, input().split()))
    def check(mid_left, mid_right):
        sum1 = 0
        sum2 = 0
        for i in range(N):
            sum1 += abs(mid_left-Y[i])
            sum2 += abs(mid_right-Y[i])
        if sum1 >= sum2:
            return True
        else:
            return False

    r = Y[-1]
    l = Y[0]
    while abs(r - l) > 2:
        mid_l = (l * 2 + r) // 3
        mid_r = (l + r * 2) // 3
        if check(mid_l, mid_r):
            l = mid_l
        else:
            r = mid_r 

    ans = float('inf')
    for a in range(l,r+1):
        tmp = 0
        for i in range(N):
            tmp += abs(a - Y[i])
        ans = min(ans, tmp)
    print(ans)




if __name__ == "__main__":
    main()
0