题目描述
假期将至,你是一位很有爱心的家长,想要在节假日的时候给你的孩子们一些小蛋糕。但是,每个孩子最多只能给一块蛋糕。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的蛋糕的最小尺寸;并且每块蛋糕 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个蛋糕j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。
输入格式
第一行一个n和m,表示孩子数和蛋糕数
接下来一行,输入n个孩子的胃口值g[i]。
最后一行输入m个蛋糕的尺寸s[i]。
输出格式
能够满足的孩子数
样例
Input 1
3 2 1 2 3 1 1
Output 1
1
样例解释
Example Input 1:
3 2
1 2 3
1 1
Example Output 1: 1
数据范围
1<=n,m<=100
1<=g[i],s[i]<=1000
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n,m,a[101],b[101],p=0,ans=0;
cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
for(int i=0;i<m;i++)cin>>b[i];
sort(a,a+n);sort(b,b+m);
for(int i=0;i<n;i++){
while(b[p]<a[i]&&p<n)p++;
if(p==n)break;
ans++;
}cout<<ans;
return 0;
}