Cod sursa(job #774391)

Utilizator SebiSebiPirtoaca George Sebastian SebiSebi Data 4 august 2012 15:58:26
Problema Koba Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#include<fstream>
using namespace std;
int v[1000],s[1000001];
int main ()
{
	int a,b,c,n,i,poz,sum,d;
	ifstream f("koba.in");
	ofstream g("koba.out");
	f>>n>>a>>b>>c;
	f.close();
	a=a%10;
	b=b%10;
	c=c%10;
	v[a*100+b*10+c]=1;
	s[1]=a;
	s[2]=s[1]+b;
	s[3]=s[2]+c;
	for(i=4;i<=n;i++) {
		d=(c+b*a)%10;
		s[i]=s[i-1]+d;
		a=b;
		b=c;
		c=d;
		if(v[a*100+b*10+c]!=0)
			break;
		else v[a*100+b*10+c]=i-2;
	}
	if(i>n)
		g<<s[n]<<'\n';
	else {
		poz=v[a*100+b*10+c]+3;
		sum=s[poz-1]+(s[i]-s[poz-1])*((n-poz-1)/(i-poz+1));
		poz=poz-1+((n-poz-1)/(i-poz+1))*(i-poz+1);
		for(i=poz+1;i<=n;i++) {
			d=(c+b*a)%10;
			sum=sum+d;
			a=b;
			b=c;
			c=d;
		}
		g<<sum<<'\n';
	}
	g.close();
	return 0;
}