Cod sursa(job #3209782)

Utilizator robert111Peter Robert robert111 Data 3 martie 2024 15:23:42
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream>

using namespace std;
ifstream cin("tombola1.in");
ofstream cout("tombola1.out");
unsigned long long codificare(long long int a)
{
    unsigned long long s=0;
    while(a)
    {
        s+=a;
        a/=10;
    }
    return s;
}
long long decodificare(long long int a)
{
   unsigned long long st=1,dr=100000000000000000,rez;
    while(st<=dr)
    {
       unsigned long long m=(st+dr)/2;
       unsigned long long dec=codificare(m);
       //cout<<dec<<'\n';
        if(a==dec)
        {
            return m;
        }
        else if(a>dec)
            st=m+1,rez=m;
        else
            dr=m-1;
    }
    return rez;
}
int main()
{
    const unsigned long long MOD=10000000000000000031;
   unsigned long long int n,cer,cnt=1,a,s=0,A,B,C,D;
    cin>>cer>>n>>a>>A>>B>>C>>D;
    if(cer==1)
    {
        for(int i=0; i<n; i++)
        {
               unsigned long long int nr=decodificare(a);
                cout<<a<<" "<<nr<<"\n";
                s+=codificare(nr-1);
                s=s%MOD;
            a=((a%A)*B+C)%D;
        }
        cout<<s;
    }
    else
        cout<<1/0;

    return 0;
}
/**
9-11   1
20-22  1
31-33
42-44
53-55
64-66
75-77
86-88
97-99
108-111 2
996-999
1008-1010

fm pt al x-lea nr bun-

*/