「RQNOJ95」苹果摘陶陶
题目描述
背景
根据去年的Noip普及组第一题衍生出的一题。
但是有一点点的恶搞成分在里面…..
高度为0的淘淘不能摘,不知道为什么,但是请注意这点,原作者恶搞的估计
描述
话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份>.<然后把他们挂在树上,准备摘取。
摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了>.<给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……
输入格式第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m<=2000)
以下的n行,分别为各个苹果能够到的最大高度。
再接下来的m行,分别为各个陶陶的高度。
高度均不高于300。
当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。
输出格式输出仅有一个数,是剩下的陶陶的数量
样例输入
5 5
9
10
2
3
1
6
7
8
9
10
样例输出
3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; int main() { int n,m; int ae[2001],tt[2001]; bool t[2001]; memset(t,0,sizeof(t)); cin>>n>>m; int ans=m; for(int i=1;i<=n;i++) scanf("%d",&ae[i]); for(int i=1;i<=m;i++) scanf("%d",&tt[i]); sort(tt,tt+m+1); for(int i=1;i<=n;i++) for(int j=m;j>0;j--) if(!t[j]&&tt[j]<ae[i]&&tt[j]!=0){t[j]=1;ans--;break;} cout<<ans; return 0; } |
Subscribe