Cod sursa(job #1397720)

Utilizator alevasluialeHuhurez Marius alevasluiale Data 23 martie 2015 18:30:45
Problema Koba Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <bitset>
#include <cstdlib>
using namespace std;
ifstream fin("koba.in");
ofstream fout("koba.out");
int v[10001];
bitset<10001>uz;
int poz[10001];
int main()
{
    int n,t1,t2,t3,x,a,i=4;
    fin>>n>>t1>>t2>>t3;
    t1=t1%10;t2=t2%10;t3=t3%10;
    uz[t1*100+t2*10+t3]=1;
    poz[t1*100+t2*10+t3]=1;
    v[1]=t1;v[2]=v[1]+t2;v[3]=v[2]+t3;
    while(1)
    {
        x=(t3+t2*t1)%10;
        a=t2*100+t3*10+x;
        if(uz[a]==1)
        {
            n=n-poz[a]+1;
            i-=3;
            fout<<v[poz[a]-1]+1LL*(v[i]-v[poz[a]-1])*(n/i)+v[n%i]-v[poz[a]-1];
            break;
        }
        if(i==n+1)
        {
            fout<<v[i-1];
            exit(0);
        }
        v[i]=v[i-1]+x,i++;
        t1=t2;
        t2=t3;
        t3=x;

    }
}