Pagini recente » Cod sursa (job #2804773) | Cod sursa (job #3320902) | Cod sursa (job #2137995) | Cod sursa (job #1640004) | Cod sursa (job #3324775)
#include <bits/stdc++.h>
using namespace std;
ifstream fein("curcubeu.in");
ofstream g("curcubeu.out");
#define NMAX 1000001
#define INF 100010
#define pii pair<int,int>
// #define cin fein
// #define cout g
int a[NMAX], b[NMAX], c[NMAX], t[NMAX], v[NMAX], n;
void process_querries() {
if(a[1]>b[1]) swap(a[1], b[1]);
// cout<<a[1]<<" "<<b[1]<<" "<<c[1]<<endl;
for(int i=2;i<n;i++) {
a[i]=(a[i-1]*i)%n;
b[i]=(b[i-1]*i)%n;
c[i]=(c[i-1]*i)%n;
if(a[i]>b[i]) swap(a[i], b[i]);
// cout<<a[i]<<" "<<b[i]<<" "<<c[i]<<endl;
}
}
void solve() {
process_querries();
for(int i=1;i<=n;i++) {
t[i]=i;
}
for(int i=n-1;i>0;i--) {
int nc=a[i];
int rc=t[nc];
while(nc<=b[i]) {
if(v[nc]==0) {
v[nc]=c[i];
}
int aux=nc;
nc=t[nc]+1;
t[aux]=b[i];
}
}
}
void print() {
for(int i=1;i<n;i++) {
g<<v[i]<<" ";
}
}
void read_data() {
fein>>n>>a[1]>>b[1]>>c[1];
}
int main()
{
std::ios_base::sync_with_stdio(false);
// std::cin.tie(nullptr);
// std::cout.tie(nullptr);
read_data();
solve();
print();
return 0;
}