結果

問題 No.274 The Wall
ユーザー かにかに
提出日時 2015-11-23 23:07:00
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 1,660 bytes
コンパイル時間 1,503 ms
コンパイル使用メモリ 168,516 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-09-13 17:19:47
合計ジャッジ時間 2,647 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,816 KB
testcase_01 AC 2 ms
6,940 KB
testcase_02 AC 2 ms
6,940 KB
testcase_03 AC 2 ms
6,940 KB
testcase_04 AC 2 ms
6,940 KB
testcase_05 AC 2 ms
6,940 KB
testcase_06 AC 1 ms
6,944 KB
testcase_07 AC 1 ms
6,944 KB
testcase_08 AC 2 ms
6,944 KB
testcase_09 AC 2 ms
6,940 KB
testcase_10 AC 1 ms
6,944 KB
testcase_11 AC 2 ms
6,944 KB
testcase_12 AC 3 ms
6,940 KB
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 AC 3 ms
6,940 KB
testcase_17 AC 3 ms
6,944 KB
testcase_18 AC 3 ms
6,940 KB
testcase_19 WA -
testcase_20 WA -
testcase_21 WA -
testcase_22 AC 3 ms
6,940 KB
testcase_23 AC 3 ms
6,944 KB
testcase_24 WA -
testcase_25 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _CRT_SECURE_NO_WARNINGS
#include "bits/stdc++.h"
#define aLL(g) (g).begin(),(g).end()
#define REP(i, x, n) for(int i = x; i < n; i++)
#define rep(i,n) REP(i,0,n)
#define F(i,j,k) fill(i[0],i[0]+j*j,k)
#define P(p) cout<<(p)<<endl;
#define EXISt(s,e) ((s).find(e)!=(s).end())
#define INF 1<<25
#define MAX 100000000
#define pb push_back
#define mp make_pair
using namespace std;
typedef vector<int> vi;
typedef vector<long long> vl;
typedef vector<double> vd;
typedef pair<int, int> pii;
typedef pair<long, long> pll;
typedef pair<pair<int, int>, int> pp;
typedef long long ll;
int dx[] = { 0, 1, 0, -1 };
int dy[] = { -1, 0, 1, 0 };

int sttoi(std::string str) {
	int ret;
	std::stringstream ss; ss << str;
	ss >> ret;
	return ret;
}

bool sort_greater(const pair<string, int> &a, const pair<string, int> &b) {
	return a.second > b.second;
}

ll gcd(ll a, ll b){
	if (b > a)swap(a, b); if (b == 0)return a; else{ return gcd(b, a%b); }
}

void solve() {
	int n, m;
	cin >> n >> m;
	int sum[4000];
	vector<pii> v;
	fill(sum, sum + 4000, 0);
	rep(i, n){
		int s, e;
		cin >> s >> e;
		v.push_back(make_pair(s, e));
	}
	sort(v.begin(), v.end());
	rep(i, v.size()){
		bool flag = true;
		REP(j, v[i].first, v[i].second + 1){
			if (sum[j] != 0){
				flag = false;
			}
		}
		if (flag){
			REP(j, v[i].first, v[i].second + 1){
				sum[j]++;
			}
		}
		else{
			flag = true;
			REP(j, m - v[i].second - 1, m - v[i].first){
				if (sum[j] != 0){
					flag = false;
				}
			}
			if (flag){
				REP(j, m - v[i].second - 1, m - v[i].first){
					sum[j]++;
				}
			}
			else{
				P("NO");
				return;
			}
		}
	}
	P("YES");
}

int main() {
	solve();
	return 0;
}
0