結果
問題 | No.274 The Wall |
ユーザー |
|
提出日時 | 2015-08-28 23:00:47 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 2,107 bytes |
コンパイル時間 | 575 ms |
コンパイル使用メモリ | 68,796 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-18 15:22:33 |
合計ジャッジ時間 | 1,348 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 WA * 1 |
ソースコード
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(void){// Here your code !int N, M;cin >> N >> M;vector< vector<int> > ls(M);vector<int> counts(M);for(int i=0;i<N;i++){int l, r;cin >> l >> r;if(M-1-r<l){int l2,r2;l2 = M-1-r;r2 = M-1-l;l=l2;r=r2;}//cout << "l=" << l << ", r=" << r << endl;ls[l].push_back(r);}for(int l=0;l<M;l++){vector<int> rs = ls[l];sort(rs.begin(), rs.end());reverse(rs.begin(), rs.end());if(rs.size()==0){continue;}if(rs.size()>2){cout << "NO" << endl;exit(0);}if(counts[l]==1){{int r = rs[0];//cout << "rs[1]: l=" << l << ", r=" << r << endl;int l2 = M-1-r;int r2 = M-1-l;//cout << "rs[1]: l2=" << l2 << ", r2=" << r2 << endl;for(int i=l2;i<=r2;i++){counts[i]++;}}}else{{int r = rs[0];//cout << "rs[0]: l=" << l << ", r=" << r << endl;for(int i=l;i<=r;i++){counts[i]++;}}if(rs.size()==2){int r = rs[1];//cout << "rs[1]: l=" << l << ", r=" << r << endl;int l2 = M-1-r;int r2 = M-1-l;//cout << "rs[1]: l2=" << l2 << ", r2=" << r2 << endl;for(int i=l2;i<=r2;i++){counts[i]++;}}}}bool flag = true;for(int i=0;i<M;i++){if(counts[i]>=2){flag = false;}//cout << "counts[" << i << "]=" << counts[i] << endl;}if(flag){cout << "YES" << endl;}else{cout << "NO" << endl;}return 0;}