Pagini recente » Cod sursa (job #2975441) | Cod sursa (job #2930499) | Rating Radinaru Silviu (panteasc) | Cod sursa (job #1161174) | Cod sursa (job #1243951)
#include <iostream>
#include <fstream>
#include <map>
#include <string>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <cmath>
#include <bitset>
using namespace std;
#define e '\n'
#define INF 1023456789
#define ll long long
#define FILE "radixsort"
#ifdef FILE
ifstream f(string (string(FILE) + ".in").c_str());
ofstream g(string (string(FILE) + ".out").c_str());
#endif
#ifndef FILE
#define f cin
#define g cout
#endif
int i, j, n, m, k;
int v[10000005];
int a, b, c;
/**
* Simple sort
*/
int main() {
f >> n >> a >> b >> c;
v[1] = b;
for (i=2; i<=n; i++) {
v[i] = (1ll*v[i-1]*a + 1ll*b) % c;
}
sort (v+1, v+n+1);
for (i=1; i<=n; i+=10) {
g << v[i] << " ";
}
// int curr = b;
// x[curr] = 1;
//
// int mx = curr;
//
// for (i=2; i<=n; i++) {
// curr = (1LL*curr * a + 1LL*b ) % c;
// x[curr] = 1;
//
// if (curr > mx) {
// mx = curr;
// }
// }
//
// for (int i = 0; i <= mx; i++) {
// if (x[i] == 1) {
// g << i << " ";
// }
// }
g << e;
/*
int position = 0;
for (int i = 0; i <= mx; i++) {
if (x[i] == 1) {
position ++;
if (position % 10 == 1) {
g << i << " ";
}
}
}
g << e;
*/
return 0;
}