77pts求助
查看原帖
77pts求助
1181602
Cute_Furina楼主2025/7/2 19:34
#include<bits/stdc++.h>
using namespace std;
int n, t, cnt[1000005], sum[25005], ans;
struct node {
	int a, b;
}a[25005];
bool cmp(node a, node b) {
	return (a.b - a.a) < (b.b - b.a);
}
signed main() {
	cin >> n >> t;
	for(int i  = 1;i <= n;i ++) {
		cin >> a[i].a >> a[i].b;
	}
	sort(a + 1, a + n + 1, cmp);
	for(int i = 1;i <= n;i ++) {
		for(int j = a[i].a;j <= a[i].b;j ++) {
			cnt[j] = i;
		}
	}
	for(int i = 1;i <= t;i ++) {
		if(sum[cnt[i]] == 0) {
			sum[cnt[i]] = 1;
			ans ++;
		}
		if(cnt[i] == 0) {
			cout << -1;
			return 0;
		}
	}
	cout << ans;
} 
2025/7/2 19:34
加载中...