Cod sursă (job #370859)

Utilizator avatar mjmilan11 Mujdar Milan mjmilan11 IP ascuns
Problemă Specsort (lot liceu) Compilator cpp | 0,85 kb
Rundă Arhiva de probleme Status evaluat
Dată 25 mar. 2018 18:51:00 Scor 100
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("specsort.in");
ofstream fout("specsort.out");

const int NMAX = 50005;

int v[NMAX],a[NMAX];

int main()
{
    int n;
    fin >> n;
    for(int i=1;i<=n;i++)
    {
        fin >> v[i];
    }
    for(int i=0;(1<<i)<=n;i++)
    {
        int k=1;
        for(int j=1;j<=n;j++)
        {
            if((v[j]&(1<<i))==0) /// nu mai fac din nou greseala cu parantezele :)
            {
                a[k]=v[j];
                k++;
            }
        }
        for(int j=1;j<=n;j++)
        {
            if((v[j]&(1<<i))>0)
            {
                a[k]=v[j];
                k++;
            }
        }
        for(int j=1;j<=n;j++)
        {
            v[j]=a[j];
            fout << v[j] << ' ';
        }
        fout << '\n';
    }
}