比赛 NOIP模拟赛1 评测结果 WWEEEEEEEE
题目名称 异或 最终得分 0
用户昵称 LYN-- 运行时间 0.949 s
代码语言 C++ 内存使用 0.97 MiB
提交时间 2018-02-08 21:08:45
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long shu[100001];
int main()
{
	freopen("xorxor.in","r",stdin);
	freopen("xorxor.out","w",stdout);
  int n,k,a,j,m,i;
  m=0;
  cin>>n>>k;
  int nm[n+1];
  memset(nm,0,sizeof(nm));
  for(i=1;i<=n;i++)
   {
   	j=1;
     cin>>a;
     if(a>=2)
     {
	    do
       {
          nm[i]=nm[i]+a%2*j;
		  a=a/2;
		  j=j*10;	
	   }while(a>=2);
       nm[i]=nm[i]+j;
     }
     else
     {
     	if(a==1)
     	nm[i]=1;
     	if(a==0)
     	nm[i]=0;
	 }
	 //cout<<nm[i]<<endl;
   }
  for(i=1;i<n;i++)
    for(j=i+1;j<=n;j++)
   {
   	 m++;
   	 if(nm[i]>nm[j])
		{
			if(nm[i]%10==1&&nm[j]%10==1)
			 shu[m]=nm[i]-nm[j];
			else
			 shu[m]=nm[i]+nm[j];
		}
	 else
	 {
	        if(nm[i]%10==1&&nm[j]%10==1)
			 shu[m]=nm[j]-nm[i];
			else
			 shu[m]=nm[i]+nm[j];
	}	
     //cout<<shu[m]<<endl;
   }
  for(i=1;i<n;i++)
   for(j=1;j<n;j++)
    {
    	if(shu[j]>shu[j+1])
    	{
    		a=shu[j];
    		shu[j]=shu[j+1];
    		shu[j+1]=a;
		}
	 } 
	 a=shu[k];
	 shu[k]=0;
	do
	{
		i=a%10;
		if(i==1)
		shu[k]=i*2+shu[k];
		else
		shu[k]=shu[k]+1;
		a=a/10;
	}while(a!=0);
	cout<<shu[k];
}