Cod sursa(job #2875020)

Utilizator beingsebiPopa Sebastian beingsebi Data 20 martie 2022 17:37:03
Problema Radix Sort Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("radixsort.in");
ofstream g("radixsort.out");
// #define f cin
// #define g cout
int n, a, b, c, v[10000009], w[10000009];
int32_t main()
{
    f >> n >> a >> b >> c;
    v[1] = b;
    for (int i = 2; i <= n; i++)
        v[i] = (1ll * a * v[i - 1] + b) % c;
    for (long long digit = 1; digit < INT_MAX; digit *= 2)
    {
        int rtp = 0;
        for (int i = 0; i < 2; i++)
            for (int j = 1; j <= n; j++)
                if (!!(v[j] & digit) == i)
                    w[++rtp] = v[j];
        swap(v, w);
    }
    for (int i = 1; i <= n; i += 10)
        g << v[i] << " ";
    return 0;
}