题目描述: 链接:https://ac.nowcoder.com/acm/contest/88642/A 来源:牛客网
石头要去和朋友打篮球。但石头不会,于是石头准备从最简单的运球练起。现在石头正前方有 n 个路障,设每个路障在 x轴 上的坐标为 x i ,石头要求相邻路障之间的间隔都为 1 1 ,在坐标轴上连续,但是石头赶时间,对于每个路障,石头都最多只会向左或向右移动一次(即将其坐标
x i 改为 − 1 x i −1 或 + 1 x i +1 ),现石头要问问你,是否能将所有的路障调整好?
思路: 贪心
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<int> a(n + 1);
sort(a.begin() + 1, a.end());
for(long long i = 1, pre = INT_MAX; i <= n; i++){
cin >> a[i];
if(a[i] >= pre + 4){
cout << "No";
return 0;
}
// cout << pre << " ";
pre = a[i];
}
cout << "Yes";
}