CF1705A Mark the Photographer 题解
作者:互联网
这道题目的意思其实就是有 \(2n\) 个人,分两排站。求能否使后面的人的高度 \(-\) 前面的人的高度 \(\ge x\)(第 \(i\) 个人的高度是 \(h_i\))。
这道题一看到题目理所当然的就想到先排序,然后判断 \(h_{i + n}\) 是否比 \(h_i\) 高 \(x\) 个单位。一遇到不符合的立马输出 no
,直到最后如果还没有输出 no
,就输出 yes
。
代码
// Author: CrazyWolf
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e2 + 5;
int h[maxn];
void Work()
{
int n, x;
cin >> n >> x;
for (int i = 1; i <= 2 * n; i ++)
cin >> h[i];
sort(h + 1, h + 2 * n + 1);
bool flag = true;
for (int i = 1; i <= n; i ++)
{
if (h[i + n] - h[i] < x)
flag = false;
}
if (flag)
cout << "YES\n";
else
cout << "NO\n";
}
int main()
{
int t;
cin >> t;
while (t --)
{
Work();
}
return 0;
}
标签:输出,no,int,题解,Work,高度,maxn,Photographer,CF1705A 来源: https://www.cnblogs.com/GlassMoon/p/16490880.html