注释的地方有点不太懂为啥不注释的话就TLE。。
贪心的策略:
一、当田忌最快的马比国王最快的马快时,用田忌最快的马赢国王最快的马。
二、当田忌最快的马比国王最快的马慢时,用田忌最慢的马输给国王最快的马。
三、当田忌最快的马跟国王最快的马一样快时,分情况。
1、当田忌最慢的马比国王最慢的马快,那么用田忌最慢的马赢国王最慢的马
2、当田忌最慢的马比国王最慢的马慢,那么用田忌最慢的马输给国王最快的马
3、当田忌最慢的马跟国王最慢的马相等的时候,用田忌最慢的马跟国王最快的马比
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n==0)
break;
int a[1005],b[1005];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++)
{
cin>>b[i];
}
sort(a,a+n);
sort(b,b+n);
int l1=0,l2=0,r1=n-1,r2=n-1;
int money=0;
while(r1-l1>=0)
{
if(a[r1]>b[r2])
{
money+=200;
r1--;
r2--;
}
else if(a[r1]<b[r2])
{
money-=200;
r2--;
l1++;
}
else //if(a[r1]==a[r2])
{
if(a[l1]>b[l2])
{
money+=200;
l1++;
l2++;
}
else
{
if(a[l1]<b[r2])
money-=200;
l1++;
r2--;
}
}
}
cout<<money<<endl;
}
return 0;
}