結果
問題 |
No.1244 Black Segment
|
ユーザー |
![]() |
提出日時 | 2021-11-09 22:00:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 253 ms / 2,000 ms |
コード長 | 699 bytes |
コンパイル時間 | 191 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 102,656 KB |
最終ジャッジ日時 | 2024-11-19 03:50:43 |
合計ジャッジ時間 | 7,396 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
import sys N,M,A,B = map(int,input().split()) LR = [list(map(int,input().split())) for _ in range(M)] E = [[] for _ in range(B - A + 2)] N2 = B - A + 1 for i in range(M): l,r = LR[i] a = max(0,min(B-A+1,l-A)) b = max(0,min(B-A+1,r-A+1)) E[a].append((b)) E[b].append((a)) #print(E) q1 = {0} q2 = set() nvstd = [True] * (N2+1) nvstd[0] = False ans = 0 while q1: ans += 1 while q1: frm = next(iter(q1)) q1.remove(frm) for to in E[frm]: if to == N2: print(ans) sys.exit() if nvstd[to]: q2.add(to) nvstd[to] = False q1,q2 = q2,q1 q2 = set() print(-1)