結果
問題 | No.1012 荷物収集 |
ユーザー |
![]() |
提出日時 | 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")