链接:https://ac.nowcoder.com/acm/contest/2763/C
来源:牛客网
不善使用地图的比速度队一直使用友军寻路算法寻找报道、吃饭和吃饭的地方,简单地说就是,找到一个队伍,然后跟着走。
友军偶尔会因为路口转弯而在可视范围内消失,不过不要紧,只要到达路口后还能看见友军就可以继续跟着走,否则的话就是跟丢了。
现在距离前面L米处有一队友军,比速度队用相同的步行速度跟在后面。
根据上帝视角我们知道(但比速度队并不知道),友军接下来会经历n个路口转弯,并且友军从他们的当前位置步行li米后会经历第i个路口转弯。
请问比速度队是否会跟丢,如果没有跟丢输出OK,否则输出GG。
友军偶尔会因为路口转弯而在可视范围内消失,不过不要紧,只要到达路口后还能看见友军就可以继续跟着走,否则的话就是跟丢了。
现在距离前面L米处有一队友军,比速度队用相同的步行速度跟在后面。
根据上帝视角我们知道(但比速度队并不知道),友军接下来会经历n个路口转弯,并且友军从他们的当前位置步行li米后会经历第i个路口转弯。
请问比速度队是否会跟丢,如果没有跟丢输出OK,否则输出GG。
输入描述:
多组输入,其中每组:
第1行:两个由空格分开的正整数n, L,分别表示路口数以及两队之间的距离
第2行:n个由空格分开的正整数li,第i个数表示步行li米后会经历第i个路口转弯
2≤n≤1002 le n le 1002≤n≤100
1≤L≤1001 le L le 1001≤L≤100
1≤li≤100001 le l_i le 100001≤li≤10000
数据保证每组的li都是严格递增的
输出描述:
对于每组输入,输出1行:OK或GG
备注:
在第二组样例中,比速度队通过第二个路口时发现友军已经消失了,GG。
样例一
样例二
题解:给红队和蓝队之间的距离,问红队在分叉口的时候是否会丢蓝队
如果存在两个分叉口之间的距离大于红队和蓝队的距离,就会跟丢,否则不会。
#include <stdio.h> #define MAX 105 using namespace std; int s[MAX]; int n,l; bool flag; int main(){ while(scanf("%d %d",&n,&l)!=EOF){ flag=true; for(int i=0;i<n;i++){ scanf("%d",&s[i]); if(i>=1){ if(s[i]-s[i-1] < l) flag=false; } } if(flag) printf("OK "); else printf("GG "); } return 0; }