pku2376.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 69 行

CPP
69
字号
#include <stdio.h>
#include <algorithm>
using namespace std;

typedef struct Node
{
	int s, e;
} Node;

Node nd[25001];
int N, L;

bool cp(Node a, Node b)
{
	return a.s < b.s;
}

int Solve()
{
	int i, s, e;
	int cnt = 0;
	i = 0;
	s = 1;
	e = 1;
	while (i < N)
	{
		s = e;
		while (i < N && nd[i].s <= s)
		{
			if (e < nd[i].e)
			{
				e = nd[i].e;
			}
			i++;
		}
		cnt++;
		if (e > L)
		{
			break;
		}
		if (s == e)
		{
			return -1;
		}
	}
	if (e <= L)
	{
		return -1;
	}
	return cnt;
}

int main()
{
	int i, j, cnt, end, ns, id;
	while (scanf("%d %d", &N, &L) != -1)
	{
		for (i = 0; i < N; i++)
		{
			scanf("%d %d", &nd[i].s, &nd[i].e);
			nd[i].e++;
		}
		sort(nd, nd + N, cp);
		printf("%d\n", Solve());
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?