# 对线压制## 题目描述峡谷里有 $n$ 条线路红蓝双方分别有 $n$ 位选手双方每位选手都要前往一条线路参与对线每条线路上恰好有红蓝方各一位选手。红色方每位选手的对线能力为 $a_i$蓝色方每位选手的对线能力为 $b_i$在一条线路上能力值更高的那位选手可以获得这条线路的对线压制能力值相同则互不压制。红方教练想要知道是否有存在一种对阵情况使得红方可以获得至少 $k$ 条路的对线压制。## 输入
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
int a[n], b[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
cin >> b[i];
}
sort(a, a + n);
sort(b, b + n, greater<int>());
int count = 0;
for (int i = 0; i < k; i++) {
if (a[i] < b[i]) {
count++;
}
}
if (count >= k) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
return 0;
}
原文地址: https://www.cveoy.top/t/topic/h6eh 著作权归作者所有。请勿转载和采集!