Cod sursa(job #2100833)

Utilizator elffikkVasile Ermicioi elffikk Data 6 ianuarie 2018 13:49:44
Problema Radix Sort Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

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

int n, A, B, C, D = 0, E;
vector<int> a;
const int SIZE = 5000;
vector< vector<int> > v(SIZE);

void g()
{
    long long r = A;
    D = (r * D + B) % C;
    int i = D  / E;
    v[i].push_back(D);
}

int main()
{

    fin>>n>>A>>B>>C;
    E = C / SIZE + 1;
    for (int i = 0; i < n; i++) g();
    for (int i = 0; i < SIZE; i++) sort(v[i].begin(), v[i].end());
    for (int i = 0; i < SIZE; i++)
        for (int j = 0; j < v[i].size(); j++)
            a.push_back(v[i][j]);
    for (int i = 0; i < a.size(); i+=10)
        fout<<a[i]<<" ";

}