先把陶陶进行高度排序,然后再摘即可,注意,当陶陶的高度为0时,是不能被摘的,题上没说清楚,坑了许多人,包括我。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m;
int a[2010],c[2010],hash[2010],t[2010];
void init()
{
freopen("apple.in","r",stdin);
freopen("apple.out","w",stdout);
}
void readdata()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=m;i++)
{
scanf("%d",&c[i]);
}
sort(c+1,c+m+1);
int q=1;
for(int i=m;i>=1;i--)
{
t[q]=c[i];
q++;
}
//for(int i=1;i<=m;i++)
//printf("%d ",t[i]);
}
void work()
{
memset(hash,0,sizeof(hash));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m&&t[j]!=0;j++)
{
if(hash[j]==1) continue;
if(a[i]>t[j])
{
hash[j]=1;
break;
}
}
}
int count=0;
for(int i=1;i<=m;i++)
if(!hash[i])
count++;
printf("%d\n",count);
}
int main()
{
//init();
readdata();
work();
return 0;
}