結果
問題 |
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)