Pagini recente » Cod sursa (job #794688) | Cod sursa (job #346716) | Cod sursa (job #2532480) | Cod sursa (job #476700) | Cod sursa (job #1170298)
#include <fstream>
#define maxn 1000001
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int a[maxn],b[maxn],c[maxn],n,l,r;
int v[maxn],rightb[maxn];
int main()
{
freopen ("curcubeu.out","w",stdout);
fin>>n;
--n;
fin>>a[1]>>b[1]>>c[1];
for (int i=2; i<=n; ++i)
{
a[i] = (1LL*a[i-1]*i)%(n+1);
b[i] = (1LL*b[i-1]*i)%(n+1);
c[i] = (1LL*c[i-1]*i)%(n+1);
}
for (int i=n; i>=1; --i)
{
l = min (a[i],b[i]);
r = max (a[i],b[i]);
for (int j=l; j<=r;)
{
if (!v[j])
{
v[j] = c[i];
rightb[j] = r;
++j;
}
else
{
j = rightb[j]+1;
}
}
}
for (int i=1; i<=n; ++i)
{
printf ("%d\n",v[i]);
}
}