求助
  • 板块P2684 搞清洁
  • 楼主Chenzhifei
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/26 21:20
  • 上次更新2024/10/26 21:47:44
查看原帖
求助
945043
Chenzhifei楼主2024/10/26 21:20

7紫1黑

#include<bits/stdc++.h>
using namespace std;
int st[10000005],endd[10000005],a,maxx,n,t,sum=1;
int main(){
	cin>>n>>t;
	for(int i=1;i<=n;i++)
		cin>>st[i]>>endd[i];
	for(int i=1;i<=n-1;i++)
		for(int j=1;j<=n-i;j++)
			if(st[j]>st[j+1]||(st[j]==st[j+1]&&endd[j]<endd[j+1])){
				swap(st[j],st[j+1]);
				swap(endd[j],endd[j+1]);
			}
	if(st[1]==1)
		a=endd[1];
	else{
		cout<<"-1";
		return 0;
	}
	int i=2;
	while(a<t){
		maxx=0;
		while(st[i]<=a+1){
			if(endd[i]>maxx)
				maxx=endd[i];
			i++;
		}
		if(maxx>a)
			a=maxx;
		else{
		cout<<"-1";
		return 0;
	}
		sum++;
	}
	cout<<sum;
} 
2024/10/26 21:20
加载中...