Pagini recente » Istoria paginii runda/fminostress3-nefacute/clasament | Cod sursa (job #460712) | Cod sursa (job #883048) | Cod sursa (job #2469743) | Cod sursa (job #2005700)
#include<fstream>
#include<iostream>
#include<vector>
#include<set>
#define DN 1000100
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int st[DN];
int dr[DN];
int v[DN];
int r[DN];
multiset<int >s;
long long n,a,b,c;
int main()
{
fin>>n>>a>>b>>c;
for(int i=1;i<DN;i++)
s.insert(i);
for(int i=1;i<n;i++)
{
long long d=a,e=b,f=c;
a=(d*i)%n;
b=(e*i)%n;
c=(f*i)%n;
st[i]=min(a,b);
dr[i]=max(a,b);
v[i]=c;
}
for(int i=n-1;i>0;i--)
{
auto it=s.lower_bound(st[i]);
while(*it<=dr[i])
{
r[*it]=v[i];
it=s.erase(it);
}
}
for(int i=1;i<n;i++)
fout<<r[i]<<'\n';
}