Description
二哥在网上买干草。他发现了一笔特殊的买卖。他每买一捆大小为A(1 <= A <= 1,000,000)的干草,他就能免费获得一捆大小为B(1 <= B < A)的干草,也就是说免费的那个必须大小是小于购买的那个。
然而,这笔交易是有规定的:大的一捆干草必须是高质量的,小的一捆是低质量的。二哥是个吝啬鬼,他并不在意:随便什么质量,只要能省钱就好。
给出一组N(1 <= N <= 10,000)捆高质量干草的大小,M(1 <= M <= 10,000)捆低质量的干草的大小,找出二哥最多能买多少捆干草。他能买高质量的干草,但他不能买低质量的干草(就是说,他只能通过赠送来获得低质量的草)。
Input Format
第一行给出N,M
下面N+M行,先给出高质量的N捆高质量干草的大小,再给出M捆低质量的
Output Format
二哥最多可以得到多少捆干草
Hint
对于面样例,二哥可以这样进行操作,买6得3,买3得1,买1时,不能拿到低质量的干草,最终得到5捆.
Sample Input
3 46131534
Sample Output
5
#include#include using namespace std;int main(){ int n,m; int a[10001],b[10001]; cin>>n>>m; for(int i=0;i >a[i]; } for(int i=0;i >b[i]; } int sum=0; sort(a,a+n); sort(b,b+m); int t=0; for(int i=0;i b[j]){ t=j+1; sum++; break; } } } cout<