Cod sursa(job #71330)
Utilizator | Data | 10 iulie 2007 09:33:29 | |
---|---|---|---|
Problema | Rsir | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<stdio.h>
long int t0,t1,a,b,x,y,z,m,n,i,j,aux,p[7000],aa[7000],bb[7000];
int main()
{
FILE *f,*g;
f=fopen("rsir.in","r");
g=fopen("rsir.out","w");
fscanf(f,"%ld%ld",&t0,&t1);
fscanf(f,"%ld%ld",&a,&b);
fscanf(f,"%ld%ld%ld",&x,&y,&z);
fscanf(f,"%ld%ld",&m,&n);
for(i=1;i<m;i++)
{ p[i]=(i*i)%m;
aa[i]=(a*p[i]+x*i)%m;
bb[i]=(b*p[i]+y*i)%m;
}
for(i=2;i<=n;i++)
{
aux=aa[t0]+bb[t1]+z;
while(aux>m)aux-=m;
t0=t1;
t1=aux;
}
fprintf(g,"%ld\n",t1);
fcloseall();
return 0;
}