Cod sursa(job #474891)

Utilizator freak93Adrian Budau freak93 Data 5 august 2010 14:56:22
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>

using namespace std;

const char iname[]="koba.in";
const char oname[]="koba.out";
const int maxn=1005;

ifstream f(iname);
ofstream g(oname);

int a[maxn],i,n,poz[maxn],k,s,j,aux;

int main()
{
    f>>n;
    f>>a[1]>>a[2]>>a[3];
    a[1]%=10;
    a[2]%=10;
    a[3]%=10;
    poz[a[1]*100+a[2]*10+a[3]]=3;
    s=a[1]+a[2]+a[3];
    for(i=4;i<=n;++i)
    {
        a[i]=(a[i-1]+a[i-2]*a[i-3])%10;
        s+=a[i];
        if(poz[a[i-2]*100+a[i-1]*10+a[i]])
        {
            k=poz[a[i-2]*100+a[i-1]*10+a[i]];
            break;
        }
        else
            poz[a[i-2]*100+a[i-1]*10+a[i]]=i;
    }
    if(k)
    {
        for(j=k+1;j<=i;++j)
            aux+=a[j];
        k=i-k;
        aux*=(n-i)/k;
        n-=i;
        n%=k;
        n+=i-k;
        k=i-k;
        for(j=k+1;j<=n;++j)
            aux+=a[j];
        s+=aux;
    }
    g<<s<<"\n";

}