题目:
http://www.lydsy.com/JudgeOnline/problem.php?id=1034简单贪心。
最弱能赢就赢,最强能赢就赢,不然最弱打最强。第二问用2*n减去数组对调的第一问即可。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int MaxN=100050;

int n,a[MaxN],b[MaxN],t[MaxN];

void init()


{
cin>>n;
for (int i=0;i<n;i++)

{
cin>>a[i];
}
for (int i=0;i<n;i++)

{
cin>>b[i];
}
}

int work(int *a,int *b)


{
int fa=0,fb=0,la=n-1,lb=n-1,ans=0;
while (fa<=la)

{
if (a[fa]>b[fb])

{
ans+=2;
fa++;
fb++;
}
else

{
if (a[la]>b[lb])

{
ans+=2;
la--;
lb--;
}
else

{
if (a[fa]==b[lb])

{
ans++;
}
fa++;
lb--;
}
}
}
return ans;
}

int main()


{
init();
sort(a,a+n);
sort(b,b+n);
cout<<work(a,b)<<' '<<2*n-work(b,a)<<endl;
return 0;
}
