Cod sursa(job #2901383)

Utilizator agabi21Totolici Alexandru agabi21 Data 13 mai 2022 17:27:49
Problema Radix Sort Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
vector <int> v(10000000);
vector<queue<int>> vectorCozi(256);

int main(){
    long long n,a,b,c;
    f>>n>>a>>b>>c;
    v[0]=b;
    for(int i=1; i<n; i++)
        v[i]=(a*v[i-1]+b)%c;
    //for(int i=1;i<n;i++)
        //g<<v[i]<<" ";
// 38 2 62 44 74 65 80 14 83 50 23 68 116 77 101 20 32 53 59 8 11 47 110 5 98 107 92 35 89 122 26 104 56 95 71 29 17 119 113 41 38 2 62 44 74 65 80 14 83 50 23 68 116 77 101 20 32 53 59 8 11 47 110 5 98 107 92 35 89 122 26 104 56 95 71 29 17 119 113 41 38 2 62 44 74 65 80 14 83 50 23 68 116 77 101 20 32 53 59
    for(int p=0; p<32 ; p+=8)
        for(int i=0; i<n; i++)
            vectorCozi[(v[i]>>p)&255].push(v[i]);
        for(int i=0,j=0 ; i<256 ; i++){
            while(!vectorCozi[i].empty()){
                v[j++]=vectorCozi[i].front();
                vectorCozi[i].pop();
            }
        }
    for(int i=0; i<n; i+=10)
        g<<v[i]<<" "; }