Cod sursa(job #1782113)

Utilizator PetruZZatic Petru PetruZ Data 17 octombrie 2016 19:41:04
Problema Radix Sort Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <map>

using namespace std;

#define MX 4294967295


ifstream cin ("radixsort.in");
ofstream cout("radixsort.out");

long long n,a,b,c,v[10005];
map <int, long long> ar;
long long m = -MX-100, mn = MX+100;

int main() {
    
    cin >> n >> a >> b >> c;
    v[1] = b;
    ar[v[1]]++;
    
    for(int i=2; i<=n; i++)
    {
        v[i] = (a * v[i-1] + b) % c;
        ar[v[i]]++;
        if(v[i] > m) m = v[i];
        if(v[i] < mn) mn = v[i];
    }
    
    int pz = 0;
    for(int i = mn; i <= m; i++)
        while(ar[i]>0)
        {
            v[pz] = i;
            pz++;
            ar[i]--;
        }
    
    for(int i = 0; i < n; i+=10)
    cout << v[i] << " ";
    
    return 0;
}