题目描述
小强和小明两位小朋友在玩一个盲比多少的游戏,游戏规则非常简单:每次手握一定数量的小弹珠出拳,谁手中的小弹珠多,谁就算赢,赢家不仅可以获得输家本次出拳的小弹珠,还可以得到 50 积分的奖励,输家则被扣除 50 分奖励;
如果弹珠数量一样,则不计积分。经过若干次的出拳,最后赢家就可以得到一定的积分。假设最后赢家是小强,你可以通过安排出拳时手握弹珠数量,使小强获得最多积分。开始时两人积分都为 0。
输入格式
共 3 行,第一行一个正整数 n(1≤n≤1000),表示总共出拳次数,第二行有 n 个由空格分隔的正整数,表示小强每次出拳时手握的弹珠数,第三行有 n 个由空格分隔的正整数,表示小明出拳时手握弹珠数。注意出拳时手握弹珠数不一定按照给出的顺序进行。
输出格式
共 1 行一个整数,表示小强可获得的最大积分。
输入输出样例
输入样例1:
3 1 5 3 2 4 6
输出样例1:
50
说明
样例解释:共出拳 3 次,第一次小强手握 1 个弹珠,小明手握 6 个弹珠,小强输;第二次小强手握 5 个弹珠,小明手握 4 个弹珠,小强赢;第三次小强手握3 个弹珠,小明手握 2 个弹珠,小强赢;小强两赢一输,总积分为 50 分。
数据范围:1 ≤ n ≤ 1000,每次出拳时手握弹珠数不超过 500。
【耗时限制】1000ms 【内存限制】128MB
//
//Created by Carlgood.
//
#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<sstream>
using namespace std;
int a[2023],b[2023];
int main()
{
int n,ans=0;
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 t1=1,tr=n,q1=1,qr=n;
while(t1<=tr)
{
if(a[tr]>b[qr])
{
ans+=50;
tr--;
qr--;
}
else if(a[t1]>b[q1])
{
ans+=50;
t1++;
q1++;
}
else
{
if(a[t1]<b[qr]) ans-=50;
t1++;
qr--;
}
}
cout<<ans;
return 0;
}