Pagini recente » Cod sursa (job #1400784) | Cod sursa (job #2745562) | Cod sursa (job #1414187) | Cod sursa (job #30689) | Cod sursa (job #2839209)
#include <bits/stdc++.h>
#define DIM 1000005
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int n,i,a,b,c,urm[DIM],sol[DIM];
struct op{
int st;
int dr;
int val;
} v[DIM];
int main()
{
fin >> n >> a >> b >> c;
v[1] = {min(a, b), max(a, b), c};
for (i=2; i<=n-1; i++)
{
a = (a*1LL*i)%n;
b = (b*1LL*i)%n;
c = (c*1LL*i)%n;
v[i] = {min(a, b), max(a, b), c};
}
for (i=n-1; i>=1; i--)
{
int st1 = v[i].st; int dr1 = v[i].dr; int val1 = v[i].val;
while (st1 <= dr1)
if (!urm[st1])
{
sol[st1] = val1;
urm[st1] = dr1;
st1++;
}
else
st1 = urm[st1]+1;
}
for (i=1; i<n; i++)
fout << sol[i] << "\n";
return 0;
}