杭电赛马题题解
int a[1010],b[1010];
while(scanf("%d",&n)!=EOF&&n)
{
for(i = 0;i < n; i++)
scanf("%d",&a[i]);
for(i = 0;i < n; i++)
scanf("%d",&b[i]);
for(i = n-1 ;i >= 0; --i)
{
for(k = 0;k < i; k++)
{
if(a[i] < a[k])
swap(&a[i],&a[k]);
if(b[i] < b[k] )
swap(&b[i],&b[k]);
}
}
k=0;
mina=0;
minb=0;
maxa=n-1;
maxb=n-1;
for(i = 0; i < n; i ++)
{
if(a[maxa] > b[maxb])
{
maxa--;
maxb--;
k++;
}
else if(a[maxa] < b[maxb])
{
mina++;
maxb--;
k--;
}
else
{
if(a[mina] < b[minb])
{
maxb--;
mina++;
k--;
}
else if(a[mina] > b[minb])
{
mina++;
minb++;
k++;
}
else
{
if(a[mina] < b[maxb])
{
maxb--;
mina++;
k--;
}
}
}
}
sum = 200 * k;
printf("%d\n",sum);
}
return 0;
}