Pagini recente » Cod sursa (job #3246630) | Cod sursa (job #248807) | Cod sursa (job #3290961) | Cod sursa (job #3264298) | Cod sursa (job #3285172)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int n,a[1000005],b[1000005],c[1000005];
int Next[1000005];
int sol[1000005];
int main()
{
int i,j;
fin >> n >> a[1] >> b[1] >> c[1];
if (a[1] > b[1]) swap(a[1], b[1]);
for(i=2; i<=n; ++i)
{
a[i] = (1LL*a[i-1]*i)%n;
b[i] = (1LL*b[i-1]*i)%n;
c[i] = (1LL*c[i-1]*i)%n;
if (a[i] > b[i]) swap(a[i], b[i]);
}
for(i=n-1; i>=1; i--)
{
for(j=a[i]; j<=b[i];)
{
if(sol[j]==0)
{
sol[j]=c[i];
Next[j]=b[i]+1;
j++;
}
else j=Next[j];
}
}
for(i=1; i<n; i++) fout << sol[i] << "\n";
return 0;
}