题目链接:http://codeforces.com/contest/298/problem/D
题意:
有两个人,第一个人抓了n条鱼,第二个人抓了m条鱼
保证编号小的一定小于等于编号大的质量
问你第一个人的n条鱼质量之和,有没有可能比第二个人的m条鱼的质量之和大
解法:
直接从大到小排序就好了,然后扫一遍。
只要存在一条鱼,a[i]>b[i],那么就说明可以。
因为我此时只要让后面的鱼全部都为0千克就好了
那么前面的让他们相等w[a[i]] = w[b[i]]显然就可以了。
//CF 298D
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
int a[maxn], b[maxn];
int main()
{
int n, m, k;
scanf("%d%d%d", &n, &m, &k);
for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
for(int i = 1; i <= m; i++) scanf("%d", &b[i]);
sort(a+1, a+n+1, greater<int>());
sort(b+1, b+m+1, greater<int>());
for(int i = 1; i <= n; i++){
if(a[i] > b[i]){
puts("YES");
return 0;
}
}
puts("NO");
return 0;
}