Cod sursa(job #2100821)

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

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

long long n, A, B, C, D = 0;
vector<long long> a;
vector< vector<long long> > v(1000);

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

int main()
{

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

}