shadowice1984
2017-09-19 13:50:28
按楼下大佬们讲的贪心
如果头尾可以赢就直接赢钱;
然后不行的花就用最坏的马浪费掉齐王的好马。
然后你就得了10分;
因为没!有!特!判!
如果在怼的时候平局了,是不扣钱的!!!
#include<stdio.h>
#include<algorithm>
using namespace std;
int n;int qw[2000];int tj[2000];
int* headqw;int* tailqw;int* headtj;int* tailtj;
int res;
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&tj[i]);
}
for(int i=0;i<n;i++)
{
scanf("%d",&qw[i]);
}
sort(tj,tj+n);sort(qw,qw+n);//排序
tailqw=qw;tailtj=tj;headqw=qw+n-1;headtj=tj+n-1;//头尾指针,方便代码
for(int i=0;i<n;i++)
{
if(*headtj>*headqw)//头是否能赢
{
res+=200;headtj--;headqw--;
continue;
}
if(*tailtj>*tailqw)//尾是否能赢
{
res+=200;tailtj++;tailqw++;
continue;
}
if(*tailtj<*headqw)//硬怼
{
res-=200;
tailtj++;headqw--;
}
else if(*tailtj==*headqw)//特判!!!(敲黑板)不加就是10分!
{
tailtj++;headqw--;
}
}
printf("%d",res);
return 0;//拜拜程序~
}