Pagini recente » Cod sursa (job #1663357) | Cod sursa (job #3122857) | Cod sursa (job #1628485) | Cod sursa (job #1148917) | Cod sursa (job #375200)
Cod sursa(job #375200)
#include<fstream>
using namespace std;
#define MAXN 3000009
unsigned int a[MAXN], b[MAXN];
int main(){
unsigned int n, k, i, rsh, frecv[256], j;
unsigned int *p1, *p2,*aux;
ifstream f("sdo.in");
f>>n>>k;
const unsigned int msk=255;
for(i=0;i<n;i++)
f>>a[i];
f.close();
p1=a;p2=b;
for(j=0;j<4;j++){
rsh=j*8;
memset(frecv, 0, sizeof(frecv));
for(i=0;i<n;i++)
frecv[((p1[i]>>rsh)&msk)]++;
for(i=1;i<256;i++)
frecv[i] += frecv[i-1];
for(i=0;i<n;i++)
p2[--frecv[((p1[n-i-1]>>rsh)&msk)]]=p1[n-i-1];
aux=p1;p1=p2;p2=aux;
}
ofstream g("sdo.out");
g<<a[--k]<<'\n';
g.close();
return 0;
}