记录编号 35975 评测结果 AAAAAAAAAA
题目名称 田忌赛马 最终得分 100
用户昵称 GravatarTBK 是否通过 通过
代码语言 C++ 运行时间 1.328 s
提交时间 2012-03-07 08:46:50 内存使用 95.71 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <iomanip>
using namespace std;
int a[5001],b[5001],c,d,l,s=-5001,f[5001][5001];
bool bo=false;
int Compare( const void *elem1 , const void *elem2 )
{
	return *(int *)elem1 - *(int *)elem2;
}
int bijiao(int x,int y)
{
	if (a[y]>b[x]) return -1;
		else if (a[y]<b[x]) return 1;
			else return 0;
}
int main(void)
{
	freopen ("horsea.in","r",stdin);
	freopen ("horsea.out","w",stdout);
	scanf("%d",&c);
	for (d=1;d<=c;d++) scanf("%d",&a[d]);
	for (d=1;d<=c;d++) scanf("%d",&b[d]);
	qsort(a,c,sizeof(int),Compare);
	qsort(b,c,sizeof(int),Compare);
	f[0][0]=0;
	for (d=1;d<=c;d++) 
		f[d][0]=f[d-1][0]+bijiao(d,c-d+1);
	for (d=1;d<=c;d++) f[d][d]=f[d-1][d-1]+bijiao(d,d);
	for (d=1;d<=c;d++)
		for (l=1;l<=c;l++)
			if (d!=l) f[d][l]=f[d-1][l-1]+bijiao(d,l)>f[d-1][l]+bijiao(d,c-d+l+1)?f[d-1][l-1]+bijiao(d,l):f[d-1][l]+bijiao(d,c-d+l+1);
	for (d=1;d<=c;d++)
		if (f[c][d]>s) s=f[c][d];
	printf("%d",s);
	fclose(stdin);
	fclose(stdout);
	return 0;
}