Cod sursa(job #2641458)

Utilizator triscacezarTrisca Vicol Cezar triscacezar Data 11 august 2020 14:55:25
Problema Radix Sort Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("radixsort.in");
ofstream g("radixsort.out");

long long a,b,c;
int A,B,n,v[10000010],x0[10000010],x1[10000010];

int main(){
	f>>n>>a>>b>>c;
	v[1]=b;
	for(int i=2;i<=n;i++)
		v[i]=(a*(long long)v[i-1]+b)%c;
	for(int j=0;j<31;j++){
		A=B=0;
		for(int i=1;i<=n;i++)
			if(v[i]&(1<<j))
				x1[++A]=v[i];
			else
				x0[++B]=v[i];
		for(int i=1;i<=B;i++)
			v[i]=x0[i];
		for(int i=B+1;i<=n;i++)
			v[i]=x1[i-B];
	}
	for(int i=1;i<=n;i+=10)
		g<<v[i]<<' ';
}