Pagini recente » Cod sursa (job #1058091) | Cod sursa (job #1098128) | Istoria paginii runda/ichc_preoji2010/clasament | Cod sursa (job #76045) | Cod sursa (job #474891)
Cod sursa(job #474891)
#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";
}