結果
| 問題 |
No.2687 所により大雨
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-03-25 14:40:54 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,148 ms / 2,000 ms |
| コード長 | 1,026 bytes |
| コンパイル時間 | 167 ms |
| コンパイル使用メモリ | 81,664 KB |
| 実行使用メモリ | 88,576 KB |
| 最終ジャッジ日時 | 2024-09-30 14:05:14 |
| 合計ジャッジ時間 | 12,673 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 25 |
ソースコード
N, M = map(int, input().split())
ordinary_clouds = [list(map(int, input().split())) for _ in range(N)]
rare_clouds = [list(map(int, input().split())) for _ in range(M)]
K = int(input())
P = list(map(int, input().split()))
ordinary_clouds.sort(key=lambda x: x[0])
for i in range(N - 1):
if ordinary_clouds[i][1] >= ordinary_clouds[i + 1][0]:
print(*([1] * K))
exit()
rare_clouds.sort(key=lambda x: x[0])
for i in range(M - 1):
if rare_clouds[i][1] >= rare_clouds[i + 1][0]:
print(*([1] * K))
exit()
ans = [0 for i in range(K)]
for i in range(K):
for j in range(M):
k_range = [-1, N]
while k_range[1] - k_range[0] > 1:
k = (k_range[0] + k_range[1]) // 2
if rare_clouds[j][0] + ordinary_clouds[k][0] <= P[i] * 2:
k_range[0] = k
else:
k_range[1] = k
k = k_range[0]
if k != -1:
if rare_clouds[j][1] + ordinary_clouds[k][1] >= P[i] * 2:
ans[i] = 1
print(*ans)