#贪心#93#求错
查看原帖
#贪心#93#求错
1375319
gongzice2010楼主2024/8/3 14:28
#include<bits/stdc++.h>
using namespace std;
int n,t,j=1,cnt=0,w=1,k=0,c=0,k1=0,falg=0,pqo=0;
struct node
{
	int a,b;
}u[25005];
bool cmp(node x,node y)
{
	return x.a<y.a;
}
int main()
{
	cin>>n>>t;
	for(int i=1;i<=n;i++)
	{
		cin>>u[i].a>>u[i].b;
		if(u[i].b==t) falg=1;
	}
	if(falg==0) 
	{
		cout<<"-1";
		return 0;
	}
	sort(u+1,u+n+1,cmp);
	if(u[1].a!=1)
	{
		cout<<"-1";
		return 0;
	}
	while(j<t)
	{
		pqo=0;
		for(int i=w;i<=n;i++)
		{
			if(u[i].a>j+1)
			{

				break;
			}
			else 
			{
				k=u[i].b;
			}
			if(k>k1)
			{
				c=i;
				k1=k;
				pqo++;
			}
		}
		if(pqo==0)
		{
			cout<<"-1";
			return 0;
		}
		w=c+1;
		j=u[c].b;
		cnt++;
	}
	cout<<cnt;
	return 0;
}
2024/8/3 14:28
加载中...