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