結果
| 問題 |
No.198 キャンディー・ボックス2
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-04-29 00:53:58 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 12 ms / 1,000 ms |
| コード長 | 642 bytes |
| コンパイル時間 | 266 ms |
| コンパイル使用メモリ | 6,912 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2024-11-16 08:59:45 |
| 合計ジャッジ時間 | 1,528 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 26 |
ソースコード
#!/usr/bin/env python
#coding:utf8
def read():
B = input()
C = []
for i in range(input()):
C.append(input())
return B, C
def calc(num, C):
ret = 0
for i in range(len(C)):
ret += abs(C[i] - num)
return ret
def work((B, C)):
L = 0
R = (B + sum(C)) / len(C)
while L + 10 < R:
LL = L + (R - L) / 3
RR = R - (R - L) / 3
if calc(LL, C) < calc(RR, C):
R = RR
else:
L = LL
minV = 1 << 60
for i in range(L, R + 1):
minV = min(minV, calc(i, C))
print minV
if __name__ == "__main__":
work(read())