Pagini recente » Cod sursa (job #1483178) | Cod sursa (job #736902) | Cod sursa (job #880448) | Cod sursa (job #2834650) | Cod sursa (job #1133098)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
struct data {
int x;
int y;
int c;
} a[1000100];
int d[1000100],v[1000100],aux,i,j,n;
int main () {
fin>>n>>a[1].x>>a[1].y>>a[1].c;
d[1]=2;
for (i=2;i<n;i++) {
a[i].x=int((1LL*a[i-1].x*i)%n);
a[i].y=int((1LL*a[i-1].y*i)%n);
a[i].c=int((1LL*a[i-1].c*i)%n);
d[i]=i+1;
}
for (i=n-1;i>=1;i--) {
if (a[i].x>a[i].y) {
aux=a[i].x;
a[i].x=a[i].y;
a[i].y=aux;
}
for (j=a[i].x;j<=a[i].y;j++) {
if (v[j]==0){
d[j]=a[i].y+1;
v[j]=a[i].c;
}else {
while (v[j]!=0)
j=d[j];
d[j]=max (j,a[i].y+1);
j--;
}
}
}
for (i=1;i<n;i++)
fout<<v[i]<<"\n";
return 0;
}