#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 2010;
int a[maxn], b[maxn];
int n;
int main()
{
int i;
scanf("%d", &n);
for(i = 1; i <= n; ++i)
scanf("%d", &a[i]);
for(i = 1; i <= n; ++i)
scanf("%d", &b[i]);
sort(a+1,a+n+1);
sort(b+1,b+n+1);
int la = 1, ra = n;
int lb = 1, rb = n;
int ans = 0;
for(i = 1; i <= n; ++i)//n场比赛
{//只枚举胜负情况(前两种,赢就赢得最经济;第三种,输就输得最惨)
if(a[ra]>b[rb]) {ans+=200; --ra; --rb;}//如果最大的比齐王最大的大
else if(a[la]>b[lb]) {ans+=200; ++la; ++lb;}//如果最小的比齐王最小的大
else if(a[la]<b[rb]) {ans-=200; ++la; --rb;}//如果前两种情况没有则就输得最惨
else break;//若没有胜负了,以后就全是平局了
}
printf("%d\n",ans);
return 0;
}
洛谷P1650_田忌赛马_(策略十分简洁的)贪心
最新推荐文章于 2022-03-29 20:09:49 发布