結果
| 問題 |
No.609 Noelちゃんと星々
|
| コンテスト | |
| ユーザー |
Mr.Fuku
|
| 提出日時 | 2018-08-04 18:52:03 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,118 ms / 2,000 ms |
| コード長 | 656 bytes |
| コンパイル時間 | 78 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 21,988 KB |
| 最終ジャッジ日時 | 2024-09-19 17:54:01 |
| 合計ジャッジ時間 | 19,038 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 25 |
ソースコード
n = int(input())
num = list(map(int,input().split()))
max_n,min_n = num[0],num[0]
step = [[-1,1]]
def measure(index,limit):
cost = 0
for i in range(n):
cost += abs(num[i]-index)
if cost>limit:
return float("inf")
return cost
for i in range(n):
if max_n<num[i]:
max_n=num[i]
elif min_n>num[i]:
min_n=num[i]
x = 2
while x<max_n-min_n:
step.insert(0,[-x,x])
x *= 2
index = (max_n+min_n)//2
cost = measure(index,float("inf"))
for s in step:
for i in s:
c = measure(index+i,cost)
if cost>c:
index += i
cost = c
break
print(cost)
Mr.Fuku