Cod sursa(job #1799639)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 6 noiembrie 2016 16:23:17
Problema Rsir Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
using namespace std;
ifstream f("rsir.in");
ofstream g("rsir.out");
int m,i,j,x,y,u,v,p,q,z,a[1<<13],b[1<<13];
void next()
{
    int aux=a[p]+b[q]+z;
    if(aux>=m) aux-=m;
    if(aux>=m) aux-=m;
    p=q;
    q=aux;
}
long long n;
int main()
{
    f>>p>>q>>u>>v>>x>>y>>z>>m>>n;
    for(i=0;i<m;++i)
        a[i]=1LL*i*(u*i+x)%m,
        b[i]=1LL*i*(i*v+y)%m;
    z%=m;
    for(i=1;i<=min(1LL*m*m,n);++i) next();
    x=p;
    y=q;
    if(i==n+1)
    {
        g<<x;
        return 0;
    }
    n-=m*m;
    for(i=1;i<=n;++i)
    {
        next();
        if(p==x&&q==y) break;
    }
    n=(n-i)%i;
    for(i=1;i<=n;++i) next();
    g<<p;
}