Cod sursa(job #2834582)
Utilizator | Andrei Sebastian Dragulescu AnSeDra | Data | 17 ianuarie 2022 11:39:49 |
---|---|---|---|
Problema | Rsir | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream fin("rsir.in");
ofstream fout("rsir.out");
int a,b,x,y,z,nr,g,s,len;
long long m,n,r;
int fr[7001][7001],t[7001];
int main()
{
fin>>t[0]>>t[1]>>a>>b>>x>>y>>z>>g>>nr;
fr[t[0]][t[1]]=1;
for(int i=2;;i++)
{
m=t[i-2];
n=t[i-1];
t[i]=(a*m*m+b*n*n+x*m+y*n+z)%g;
if(fr[t[i-1]][t[i]]>0)
{
s=fr[t[i-1]][t[i]];
len=i-s;
break;
}
fr[t[i-1]][t[i]]=i;
}
if(nr<=x)
{
fout<<t[nr];
}
else
{
fout<<t[(nr-x)%len+x];
}
return 0;
}