Cod sursa(job #2136592)

Utilizator inquisitorAnders inquisitor Data 20 februarie 2018 00:00:14
Problema Radix Sort Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>

int N, A, B, C, i = 1, v['ॆ'];

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

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

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

    for(A = 0; A < 4; ++A)
    {
        for(i = B = 0; i - N; b[v[i++] >> A * 8 & 255].push(v[i]));

        for(i = 0; i < 256; ++i)

            for(; b[i].size(); v[B++] = b[i].front(), b[i].pop());
    }

    std :: ofstream o("radixsort.out");

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