题目描述:
假设你是一位很棒的家长,
想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。
对每个孩子 i ,都有一个胃口值 gi ,
这是能让孩子们满足胃口的饼干的最小尺寸;
并且每块饼干 j ,都有一个尺寸 sj 。
如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,
这个孩子会得到满足。
你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[100],b[100];
int main()
{
int n,m;
scanf("%d",&n);
for(int i=0; i<n; i++)///孩子胃口值
scanf("%d",&a[i]);
scanf("%d",&m);
for(int i=0; i<m; i++)
scanf("%d",&b[i]);
sort(a,a+n);
sort(b,b+m);
int i=0,j=0,sum=0;
while(i<n && j<m)
{
if(a[i]<=b[j])
{
i++;
sum++;
}
j++;///饼干用完就没了,所以每次 都加
}
printf("%d\n",sum);
return 0;
}