Cod sursa(job #2696342)

Utilizator bem.andreiIceman bem.andrei Data 15 ianuarie 2021 18:56:05
Problema Rsir Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>

using namespace std;
ifstream r("rsir.in");
ofstream w("rsir.out");
int main()
{
    int t1, t2, a, b, x, y, z, mod, n;
    int f1, s1, cur1, f2, s2, cur2;
    r>>t1>>t2>>a>>b>>x>>y>>z>>mod>>n;
    f1=t1;
    s1=t2;
    cur1=a*f1*f1%mod+b*s1*s1%mod+x*f1%mod+y*s1%mod+z%mod;
    cur1%=mod;
    f2=s1;
    s2=cur1;
    cur2=a*f2*f2%mod+b*s2*s2%mod+x*f2%mod+y*s2%mod+z%mod;
    cur2%=mod;
    int cnt=1;
    while(cur2!=cur1 || s2!=s1){
        cnt++;
        f1=s1;
        s1=cur1;
        cur1=a*f1*f1%mod+b*s1*s1%mod+x*f1%mod+y*s1%mod+z%mod;
        cur1%=mod;
        f2=cur2;
        s2=a*s2*s2%mod+b*cur2*cur2%mod+x*s2%mod+y*cur2%mod+z%mod;
        s2%=mod;
        cur2=a*f2*f2%mod+b*s2*s2%mod+x*f2%mod+y*s2%mod+z%mod;
        cur2%=mod;
    }
    n%=cnt;
    for(int i=0;i<n;i++){
        f1=s1;
        s1=cur1;
        cur1=a*f1*f1%mod+b*s1*s1%mod+x*f1%mod+y*s1%mod+z%mod;
        cur1%=mod;
    }
    w<<s1;
    return 0;
}