Pagini recente » Cod sursa (job #2110767) | Cod sursa (job #2377175) | Cod sursa (job #974826) | Cod sursa (job #1331492) | Cod sursa (job #2681488)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("curcubeu.in");
ofstream fo("curcubeu.out");
typedef long long ll;
int n, A[1000005], B[1000005], C[1000005], S[2000005], O[2000005];
int main()
{
fi >> n >> A[1] >> B[1] >> C[1];
for(ll i = 2; i <= n - 1; i++)
{
A[i] = (int)(((long long)(A[i-1]) * i) % n);
B[i] = (int)(((long long)(B[i-1]) * i) % n);
C[i] = (int)(((long long)(C[i-1]) * i) % n);
}
int st, maAB;
for (int i = n - 1; i >= 1; i--)
{
maAB = max(A[i], B[i]);
st = min(A[i],B[i]);
while(st <= maAB)
if(S[st])st = S[st]+1;
else {
O[st] = C[i];
S[st++] = maAB;
}
}
for (ll i = 1; i < n; ++i )
fo << O[i] << "\n";
return 0;
}