Cod sursa(job #1555187)

Utilizator Vlad1111Sbengheci Vlad-Andrei Vlad1111 Data 22 decembrie 2015 13:50:21
Problema Radix Sort Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <cstdio>

using namespace std;

long x[10000010],n,b,a,c;

void quick(int st,int dr)
{
    if(st<dr)
    {
        int k=st,aux;
        //for(int i=st;i<dr;i++)
        //    cout<<x[i]<<" ";
        //cout<<endl;
        for(int i=st;i<dr;i++)
            if(x[i]<x[dr])
        {
            aux=x[i];
            x[i]=x[k];
            x[k++]=aux;
        }
        aux=x[dr];
        x[dr]=x[k];
        x[k]=aux;
        quick(st,k-1);
        quick(k+1,dr);
    }
}

int main()
{
    freopen("radixsort.in","r",stdin);
    freopen("radixsort.out","w",stdout);

    scanf("%d %d %d %d",&n,&a,&b,&c);

    for(int i=1;i<=n;i++)
        x[i]=(a*x[i-1]+b)%c;

    quick(1,n);

    for(int i=1;i<=n;i+=10)
        printf("%d ",x[i]);
    return 0;
}