Cod sursa(job #2100826)

Utilizator elffikkVasile Ermicioi elffikk Data 6 ianuarie 2018 13:43:43
Problema Radix Sort Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 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;
vector< vector<int> > v(1000);

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 / 1000 + 1;
    for (int i = 0; i < n; i++) g();
    for (int i = 0; i < 1000; i++) sort(v[i].begin(), v[i].end());
    for (int i = 0; i < 1000; 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]<<" ";

}