#include "bits/stdc++.h"
using namespace std;
int x[1000005];
int y[1000005];
int main(){
int n;
while (cin>>n){
if(n==0)break;
for(int i=1;i<=n;i++)cin>>x[i];
for(int i=1;i<=n;i++)cin>>y[i];
sort(x+1,x+1+n);
sort(y+1,y+1+n);
int xzuixiao=1,yzuixiao=1,xzuida=n,yzuida=n;
int ans=0;
while (xzuixiao<=xzuida&&yzuixiao<=yzuida){
if(x[xzuida]>y[yzuida]){//我最大比它最大还大
ans+=200;
xzuida--;//用了少一个
yzuida--;//给对掉少一个
}else if(x[xzuida]<y[yzuida]){//我最大比它最大小
ans-=200;
xzuixiao++;//最小的给换掉了
yzuida--;//它最大给换掉了
}else{//我最大和它最大一样的时候
if(x[xzuixiao]>y[yzuixiao]){//我最小比它最小要打就直接打
ans+=200;
xzuixiao++;//最小的给换掉了
yzuixiao++;//最小的给换掉了
}else{//如果比它小或者一样的时候,我们拿最慢的和它最快的对掉,利润最大
if(x[xzuixiao]<y[yzuida])ans-=200;
xzuixiao++;//去换对方最大了
yzuida--;//对方最大给换掉了
}
}
}
cout<<ans<<endl;
}
return 0;
}
田忌赛马 c++【贪心,模拟】
最新推荐文章于 2024-10-14 19:32:46 发布