Cod sursa(job #2136513)

Utilizator inquisitorAnders inquisitor Data 19 februarie 2018 22:42:07
Problema Radix Sort Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

int N, A, B, C, i, v[10000000];

std :: queue<int> bucket[256];

main()
{
    ifstream("radixsort.in") >> N >> A >> B >> C;

    scanf("%d %d %d %d", &N, &A, &B, &C);

    v[0] = B;

    for(i = 1; i < N; ++i)
    {
        v[i] = (1LL * v[i - 1] * A + B) % C;
    }


    for(int j = 0; j < 4; ++j)
    {
        for(i = 0; i != N; ++i)
        {
            b[v[i] >> j * 8 & 255].push(v[i]);
        }

        int index = 0;

        for(i = 0; i < 256; ++i)
        {
            while(!b[i].empty())
            {
                v[index++] = b[i].front();

                b[i].pop();
            }
        }
    }

    ofstream o("radixsort.out");

    for(i = 0; i < N; i += 10) o << v[i];
}