結果

問題 No.3024 全単射的
ユーザー 👑 binap
提出日時 2024-05-27 18:33:55
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 708 bytes
コンパイル時間 2,331 ms
コンパイル使用メモリ 205,188 KB
最終ジャッジ日時 2025-02-21 16:54:14
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14 WA * 8
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
#define rep(i,n) for(int i=0;i<n;i++)
using namespace std;

int main(){
	int N;
	long long M;
	cin >> N >> M;
	vector<pair<long long, long long>> range;
	rep(i, N){
		long long l, r;
		cin >> l >> r;
		range.emplace_back(l, r);
	}
	sort(range.begin(), range.end());
	int idx = 0;
	int ans = 0;
	priority_queue<long long, vector<long long>, greater<long long>> pq;
	for(long long x = 1; x <= M; x++){
		if(pq.empty()){
			if(idx == N) break;
			x = range[idx].first;
		}
		while(idx < N && range[idx].first == x){
			pq.push(range[idx].second);
			idx++;
		}
		while(pq.size() && pq.top() < x) pq.pop();
		if(pq.size()){
			pq.pop();
			ans++;
		}
	}
	cout << ans << "\n";
	return 0;
}
0