3040841_ac_31ms_152k.cpp

来自「北大大牛代码 1240道题的原代码 超级权威」· C++ 代码 · 共 65 行

CPP
65
字号
#include <stdio.h>
#include <algorithm>

using namespace std;

int tt[1000], qq[1000];

bool cmp(int a,int b)
{
	return a > b;
}

int main()
{   
   int i, n, num, num2, j, lose, ttail, htail;
   int result;

   while(scanf("%d",&n),n)
   {
       for(i = 0; i < n; i++)
           scanf("%d",&tt[i]);
       for(i = 0; i < n; i++)
           scanf("%d",&qq[i]);
	   sort(tt,tt+n,cmp);
	   sort(qq,qq+n,cmp);
       num = 0;
       num2 = 0;
       lose = 0;
       j = 0;
       ttail = n-1;
       htail = n-1;
       for(i = 0; i < n && j<n && i<= ttail;i++)
       {
           if(tt[i]>qq[j])
               num++;
           else if(tt[i]<qq[j])
           {
               ttail--;
               lose++;
               i--;
           }
           else
           {
               while(tt[ttail]>qq[htail] && ttail!=i)
               {
                   ttail--;
                   htail--;
                   num2++;
               }
               if(ttail!=i)
               {
                   if(tt[ttail]<qq[j])
                       lose++;
                   ttail--;
                   i--;
               }
           }
           j++;
       }
       result = (num + num2 - lose) * 200;       
       printf("%d\n",result);    
   }
   return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?