Cod sursa(job #2267309)
| Utilizator | Data | 23 octombrie 2018 15:38:04 | |
|---|---|---|---|
| Problema | Curcubeu | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.76 kb |
#include <fstream>
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
int n,a[1000004],v[1000004],b[1000004],c[1000004],i,v2[1000004],st,dr,j;
int main()
{
f>>n>>a[1]>>b[1]>>c[1];
for(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;
}
for(i=n;i>=1;i--)
{
st=min(a[i],b[i]);
dr=max(a[i],b[i]);
j=st;
while(j<=dr)
{
if(v[j]==0)
{
v[j]=c[i];
v2[j]=dr+1;
j++;
}
else
{
j=v2[j];
}
}
}
for(i=1;i<n;i++)
{
g<<v[i]<<'\n';
}
return 0;
}
