比赛 NOIP模拟赛1 评测结果 AAATTTTTTT
题目名称 异或 最终得分 30
用户昵称 Molotov 运行时间 7.011 s
代码语言 C++ 内存使用 0.42 MiB
提交时间 2018-02-08 21:15:44
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cctype>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<time.h>
#define ll long long
using namespace std;
int n,k,a[100002];
priority_queue<int> maxn;
void init()
{
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++)	scanf("%d",a+i);
}
void solve()
{
	int cnt=0;
	for(int i=1;i<n;i++)
	for(int j=i+1;j<=n;j++)
	{
		int x=a[i]^a[j];
		maxn.push(x);++cnt;
		if(cnt==k+1) 
		{
			--cnt;//接下:维护最大队 
			int t=maxn.top();//实质上是第k+1小的数取出最大队
			maxn.pop(); 
		}
	}
	cout<<maxn.top()<<endl; 
}

int main()
{
	/*请输出标程答案后再查看本题答案2333*/
	freopen("xorxor.in","r",stdin);
	freopen("xorxor.out","w",stdout);
	init();
	solve();
	return 0;
}