結果
問題 | No.274 The Wall |
ユーザー |
|
提出日時 | 2015-08-28 23:09:18 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 900 bytes |
コンパイル時間 | 1,586 ms |
コンパイル使用メモリ | 170,572 KB |
実行使用メモリ | 7,328 KB |
最終ジャッジ日時 | 2025-03-17 18:46:26 |
合計ジャッジ時間 | 2,606 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> #define rep(i, a) rep2 (i, 0, a) #define rep2(i, a, b) for (int i = (a); i < (b); i++) #define repr(i, a) repr2 (i, 0, a) #define repr2(i, a, b) for (int i = (b) - 1; i >= (a); i--) using namespace std; typedef long long ll; int main() { int N, M; cin >> N >> M; vector<pair<int, int>> es; rep (i, N) { int l, r; cin >> l >> r; es.emplace_back(l, i); es.emplace_back(r, i + N * 2); es.emplace_back(M - 1 - r, i + N); es.emplace_back(M - 1 - l, i + N * 3); } sort(es.begin(), es.end()); set<int> s; set<int> used; rep (i, es.size()) { int id = es[i].second % N; if (es[i].second < N * 2) { if (s.size() == 0 && used.count(id) == 0) { s.insert(id); used.insert(id); } } else { if (used.count(id)) { s.erase(id); } } } if (used.size() == N) { cout << "YES" << endl; } else { cout << "NO" << endl; } return 0; }