Pagini recente » Cod sursa (job #2107795) | Cod sursa (job #1761699) | Cod sursa (job #2117445) | Cod sursa (job #61687) | Cod sursa (job #1133087)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
struct data {
int x;
int y;
int c;
} a[10000100];
int d[10000100],v[10000100],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=(a[i-1].x*i)%n;
a[i].y=(a[i-1].y*i)%n;
a[i].c=(a[i-1].c*i)%n;
d[i]=i+1;
}
for (i=1;i<n;i++)
if (a[i].x>a[i].y) {
aux=a[i].x;
a[i].x=a[i].y;
a[i].y=aux;
}
for (i=n-1;i>=1;i--) {
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;
}