题意:George要举办一场比赛,要出n道复杂度分别为a1, a2, ..., an的题目,George已准备了m道复杂度分别为b1, b2, ..., bm的题目,如果已准备的题目复杂度不符合要求,可以降低已准备题目的复杂度使其符合要求,但不能提高其难度,问还要再出多少道新题目才能满足要求 (1 ≤ n, m ≤ 3000, 1 ≤ a1 < a2 < ... < an ≤ 10^6, 1 ≤ b1 ≤ b2... ≤ bm ≤ 10^6) 。
题目链接:http://codeforces.com/problemset/problem/387/B
——>>分别排序后,扫描一下即可。。。今天是正月初一。。。第一道#^_^
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 3000 + 10;
int a[maxn], b[maxn];
int main()
{
int n, m;
while(scanf("%d%d", &n, &m) == 2) {
for(int i = 0; i < n; i++) scanf("%d", a+i);
for(int i = 0; i < m; i++) scanf("%d", b+i);
sort(a, a+n);
sort(b, b+m);
int p = 0, q = 0;
while(p < n && q < m) {
if(b[q] >= a[p]) {
p++;
q++;
}
else q++;
}
printf("%d\n", n-p);
}
return 0;
}