結果
問題 |
No.2710 How many more?
|
ユーザー |
|
提出日時 | 2024-04-05 18:09:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 399 ms / 2,000 ms |
コード長 | 464 bytes |
コンパイル時間 | 306 ms |
コンパイル使用メモリ | 82,436 KB |
実行使用メモリ | 108,384 KB |
最終ジャッジ日時 | 2024-10-01 01:24:27 |
合計ジャッジ時間 | 6,667 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 17 |
ソースコード
from bisect import bisect_left, bisect_right from collections import defaultdict N, Q = map(int, input().split()) A = list(map(int, input().split())) maxA = max(A) B = [maxA - A[i] for i in range(N)] d = defaultdict(int) for i in range(N): d[i] = B[i] B.sort() ans = [] for _ in range(Q): x, y = map(int, input().split()) x -= 1 y -= 1 p = bisect_left(B, d[y]) q = bisect_right(B, d[x]) ans.append(max(p - q, 0)) print(*ans, sep="\n")