题目大意:飞机的飞行时间为 D D D分钟,中间提供 M M M次食物,每次的时间序列给定,每 T T T分钟入睡一次,要求求能否吃到食物。
思路分析:签到题,直接排序判断相邻间隔即可。注意给序列末尾加项 M M M。
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 10;
int a[N];
inline int solve(){
int t, d, m; cin >> t >> d >> m;
for(int i = 1; i <= m; i++) cin >> a[i];
sort(a + 1, a + 1 + m);
a[m + 1] = d;
for(int i = 1; i <= m + 1; i++){
if(a[i] - a[i- 1] >= t) return cout << 'Y' << endl, 0;
}
return cout << 'N' << endl, 0;
}
signed main(){
solve();
return 0;
}