有两个长度为n的序列A,B,你需要重排列A,使得满足A[i]>B[i]的i的数目尽量大。
只需输出这个最大个数即可。
输入
第一行输入一个正整数n;
第二、三行分别输出n个非负整数,表示A、B中的元素,以空格隔开;
其中1≤n≤10000,0≤A[i],B[i]≤10^9。
输出
输出一行一个数,表示最大个数
输入样例
4
2 7 11 15
1 10 4 11
输出样例
4
#include<bits/stdc++.h>
using namespace std;
int a[10010],b[10010];
int main()
{
ios::sync_with_stdio(false);
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1;i<=n;i++)
cin>>b[i];
sort(a+1,a+n+1);
sort(b+1,b+n+1);
int sum=0,tip=1,top=1;
while(tip<=n)
{
if(a[tip]>b[top])
{
sum++;tip++;top++;
}
else
tip++;
}
cout<<sum;
return 0;
}