Cod sursa(job #1741606)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 14 august 2016 14:55:37
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<bits/stdc++.h>
using namespace std;
int n,t1,t2,t3,p,q,x,a[15][15][15];
vector<int> s;
int main()
{
    freopen("koba.in","r",stdin);
    freopen("koba.out","w",stdout);
    scanf("%d%d%d%d",&n,&t1,&t2,&t3);
    p=0;
    q=0;
    t1=t1%10;
    t2=t2%10;
    t3=t3%10;
    s.push_back(0);
    s.push_back(t1);
    s.push_back(t1+t2);
    s.push_back(t1+t2+t3);
  //  s[1]=t1;
   // s[2]=t1+t2;
   // s[3]=t1+t2+t3;
    for(int i=4;i<=n;i++)
    {
        x=(t1*t2+t3)%10;
     //   s[i]=s[i-1]+x;
        s.push_back(s[i-1]+x);
        t1=t2;
        t2=t3;
        t3=x;
        if (!a[t1][t2][t3])
        {
            a[t1][t2][t3]=i;
        }
            else
        {
            p=i-a[t1][t2][t3];
            q=a[t1][t2][t3];
            break;
        }
    }
    if (!p)
    printf("%d\n",s[n]);
        else
    printf("%d\n",s[q]+(s[q+p]-s[q])*((n-q)/p)+s[q+(n-q)%p]-s[q]);
    return 0;
}