結果
| 問題 | No.1012 荷物収集 |
| コンテスト | |
| ユーザー |
Nagisa
|
| 提出日時 | 2020-03-20 23:33:23 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 842 ms / 2,000 ms |
| コード長 | 575 bytes |
| コンパイル時間 | 317 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 56,196 KB |
| 最終ジャッジ日時 | 2024-12-15 19:19:04 |
| 合計ジャッジ時間 | 18,511 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 41 |
ソースコード
import bisect
N, Q = map(int,input().split())
B = sorted([list(map(int,input().split())) for k in range(N)])
X = list(map(int,input().split()))
K = [B[k][0]*B[k][1] for k in range(N)]
T = [0]*N
T[0] = K[0]
for k in range(1,N):
T[k] = T[k-1] + K[k]
W = [B[k][1] for k in range(N)]
U = [0]*N
U[0] = W[0]
for k in range(1,N):
U[k] = U[k-1] + W[k]
P = [B[k][0] for k in range(N)]
def keisan(x):
p = bisect.bisect_left(P,x)
return abs(-T[p-1] + T[N-1]-T[p-1] + x*U[p-1] -x*(U[N-1]-U[p-1]))
ans = []
for e in X:
ans.append(keisan(e))
print(*ans,sep="\n")
Nagisa