結果
問題 | No.274 The Wall |
ユーザー |
![]() |
提出日時 | 2022-11-14 02:06:52 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 781 bytes |
コンパイル時間 | 4,200 ms |
コンパイル使用メモリ | 254,676 KB |
最終ジャッジ日時 | 2025-02-08 20:09:51 |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 WA * 3 |
ソースコード
#include<bits/stdc++.h> #include<atcoder/all> using namespace std; using namespace atcoder; typedef modint998244353 mint; typedef long long ll; int main(){ int n, m; cin >> n >> m; scc_graph scc(2*n); vector<int> l(2*n), r(2*n); for (int i=0; i<n; i++){ cin >> l[i] >> r[i]; l[i+n] = m-1-r[i]; r[i+n] = m-1-l[i]; } for (int i=0; i<2*n; i++){ for (int j=i+1; j<2*n; j++){ if (min(r[i], r[j]) - max(l[i], l[j]) > 0){ scc.add_edge(i, (n+j)%(2*n)); scc.add_edge(j, (n+i)%(2*n)); } } } vector<vector<int>> g = scc.scc(); vector<int> moto(2*n); for (int i=0; i<g.size(); i++){ for (int j: g[i]){ moto[j] = i; } } for (int i=0; i<n; i++){ if (moto[i] == moto[n+i]){ cout << "NO" << endl; return 0; } } cout << "YES" << endl; }