Cod sursa(job #780005)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 19 august 2012 17:30:36
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>

using namespace std;

ifstream f("koba.in");
ofstream g("koba.out");
int  n,a,b,c,x,t1,t2,t3,i,s[1000000],sum,P,SumP,VIZ[10][10][10],d;
int main () {
	
	f>>n>>t1>>t2>>t3;
	a=t1;b=t2;c=t3;
	a%=10;b%=10;c%=10;
	s[1]=a;s[2]=b+a;s[3]=c+b+a;
	VIZ[a][b][c]=3;
	for(i=4;i<=n;++i) {
		
		d=(c+a*b)%10;
		a=b;b=c;c=d;
		s[i]=s[i-1]+c;
		
		if(!VIZ[a][b][c])
			VIZ[a][b][c]=i;
		else
			break;
		
	}
	
	
	P=i-VIZ[a][b][c];
	SumP=s[i]-s[VIZ[a][b][c]];
	n-=VIZ[a][b][c];
	
	sum=s[VIZ[a][b][c]];//before period
	sum+=(n/P)*SumP; // sum of periods
	sum+=s[i-P+n%P]-s[VIZ[a][b][c]];// after periods
	g<<sum<<"\n";
	return 0;
}