Cod sursa(job #374061)

Utilizator MciprianMMciprianM MciprianM Data 15 decembrie 2009 21:04:18
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
using namespace std;
unsigned int s1[3000001], s2[3000001];
int main(){
	ifstream f("sdo.in");
	ofstream g("sdo.out");
	int n, k, i, j, ind;
	f>>n>>k;
	--k;
	for(i=0;i<n;i++)
		f>>s1[i];
	unsigned int *p1, *p2, *aux;
	p1=s1;p2=s2;
	for(i=1;i<1000000009;i<<=1){
		ind=0;
		for(j=0;j<n;j++)
			if((p1[j]&i)==0)
				p2[ind++]=p1[j];
		for(j=0;j<n;j++)
			if((p1[j]&i)==1)
				p2[ind++]=p1[j];
		aux=p1;p1=p2;p2=aux;
	}
	g<<p1[k]<<endl;
	f.close();
	g.close();
}