Pagini recente » Cod sursa (job #1883052) | Cod sursa (job #2497933) | Cod sursa (job #2596050) | Cod sursa (job #1483396) | Cod sursa (job #1884272)
#include <bits/stdc++.h>
using namespace std;
const int N=3000005, Dim=100000;
int v[N],Pos;
queue <int> q[256];
char buff[Dim];
void Read(int &a){
while(!isdigit(buff[Pos]))
if(++Pos==Dim) cin.read(buff, Dim), Pos=0;
a=0;
while(isdigit(buff[Pos])){
a=a*10+buff[Pos]-'0';
if(++Pos==Dim) cin.read(buff, Dim), Pos=0;
}
}
int main()
{
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
cin.read(buff,Dim), Pos=0;
int n,k,i,j,x,cnt;
Read(n), Read(k);
for(i=1;i<=n;i++) Read(x), v[i]=x;
for(i=0;i<32;i+=8){
cnt=0;
for(j=1;j<=n;j++) q[(v[j]>>i)&255].push(v[j]);
for(j=0;j<256;j++)
while(!q[j].empty())
v[++cnt]=q[j].front(), q[j].pop();
}
printf("%d\n",v[k]);
return 0;
}