結果
問題 | No.274 The Wall |
ユーザー |
|
提出日時 | 2016-10-09 21:28:30 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 18 ms / 2,000 ms |
コード長 | 1,301 bytes |
コンパイル時間 | 1,063 ms |
コンパイル使用メモリ | 106,252 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 02:11:09 |
合計ジャッジ時間 | 1,675 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 22 |
ソースコード
#define _USE_MATH_DEFINES#include <cstdio>#include <iostream>#include <sstream>#include <fstream>#include <iomanip>#include <algorithm>#include <cmath>#include <complex>#include <string>#include <vector>#include <list>#include <queue>#include <stack>#include <set>#include <map>#include <bitset>#include <numeric>#include <limits>#include <climits>#include <cfloat>#include <functional>#include <iterator>using namespace std;int main(){int n, m;cin >> n >> m;vector<int> l(n), r(n);for(int i=0; i<n; ++i)cin >> l[i] >> r[i];int x = 0;vector<bool> used(n, false);for(int i=0; i<n; ++i){int k = -1;int l2 = INT_MAX;int r2 = INT_MAX;for(int j=0; j<n; ++j){if(used[j])continue;if(x <= l[j] && l[j] < l2){k = j;l2 = l[j];r2 = r[j];}if(x <= (m - 1 - r[j]) && (m - 1 - r[j]) < l2){k = j;l2 = m - 1 - r[j];r2 = m - 1 - l[j];}}if(k == -1){cout << "NO" << endl;return 0;}used[k] = true;x = r2 + 1;}cout << "YES" << endl;return 0;}