Pagini recente »
Monitorul de evaluare
|
Rating Odagiu Sebastian (odagiusebi)
|
Rating Ioana Gavrilescu (IoanaGavrilescu)
|
vacanta6
|
Cod sursă (job #294400)
Cod sursă (job
#294400)
#include <stdio.h>
#define MAXN 50000
int v[MAXN], aux[MAXN];
int main(){
int n, i, j, k;
FILE *fin, *fout;
fin=fopen("specsort.in", "r");
fout=fopen("specsort.out", "w");
fscanf(fin, "%d", &n);
for(i=0;i<n;++i) fscanf(fin,"%d",&v[i]);
for(i=0;(1<<i)<=n;++i){
for(j=k=0;j<n;++j) if(~v[j]&(1<<i)) aux[k++]=v[j];
for(j=0;j<n;++j) if(v[j]&(1<<i)) aux[k++]=v[j];
for(j=0;j<n-1;++j) fprintf(fout,"%d ",aux[j]),v[j]=aux[j];
fprintf(fout,"%d\n",aux[n-1]);
v[n-1]=aux[n-1];
}
return 0;
}