您的位置:首页 > 其它

Codeforces 902 A.Visiting a Friend 贪心

2017-12-20 16:48 225 查看

题意

给出n(100),m(100),然后是n个a,b(0<=a<=b<=m),且a非严格单调递增

表示在坐标轴上有n个在ai处的传送门,每个可以传送到[ai,bi]的任意位置,问是否可以仅通过传送门从0到达m.

解法

题面很绕,但是注意到如果位置x可达,那么[0,x]全部可达,所以仅需维护一个最远可达的距离,按顺序遍历传送门即可.

代码

/* LittleFall : Hello! */
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
int n,m;
scanf("%d%d",&n,&m);
int most=0;
for(int i=0;i<n;i++)
{
int ta,tb;
scanf("%d%d",&ta,&tb);
if(ta<=most)
most=max(tb,most);
}
if(most>=m)
printf("YES\n");
else
printf("NO\n");
return 0;
}


代码用时:2分钟

注意

其实没有很能理清这个逻辑,但是确实是正确的.

a按大小排序很重要.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: