题目连接:Codeforces 387B George and Round
题目大意:有n个任务,给出n个任务的复杂度,序列a。然后可以事做好一些复杂度的准备,m个序列b,这要复杂度b[i] >= a[j],就可以省去一次工作量,问说还要解决几个问题。
解题思路:贪心,尽量用小的b解决小的a,然后a从小的开始抵消。
#include <stdio.h> #include <string.h> const int N = 1000005; const int INF = 0x3f3f3f3f; int n, m, a[N]; void init() { int k; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) scanf("%d", &a[i]); } int solve() { int ans = 0, p = 0, k; for (int i = 0; i < m; i++) { scanf("%d", &k); if (k >= a[p] && p < n) { p++; ans++; } } return ans; } int main () { init(); printf("%d\n", n - solve()); return 0; }