Cod sursa(job #520235)

Utilizator loginLogin Iustin Anca login Data 7 ianuarie 2011 16:22:03
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
# include <iostream>
# include <fstream>
using namespace std;
int n, a, b, c, d, p[1002], sum[1002], s, ss;

int main()
{
	ifstream fin ("koba.in");
	ofstream fout ("koba.out");
	
	fin>>n>>a>>b>>c;
	int nr=((a%10)*10+(b%10))*10+(c%10), cont=1, m;
	p[nr]=3;
	sum[nr]=a%10+b%10+c%10;
	s+=a%10+b%10+c%10;
	for(int i=4;cont && i<=n;++i)
	{
		d=(c+a*b)%10;
		a=b;b=c;c=d;
		nr=((a%10)*10+(b%10))*10+(c%10);
		s+=d;
		if (p[nr]==0)
		{
			p[nr]=i;
			sum[nr]=s;
		}
		else
		{
			cont=0;
			m=i-p[nr];
			n-=i;
			ss=s-sum[nr];
			s+=(n/m)*ss;
			for(int j=1;j<=n%m;++j)
			{
				d=(c+a*b)%10;
				a=b;b=c;c=d;
				s+=d;
			}
		}
	}
	fout<<s;
	return 0;
}