Pagini recente » Monitorul de evaluare | Cod sursa (job #2774076) | Cod sursa (job #1745890) | Cod sursa (job #1785461) | Cod sursa (job #3130971)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main()
{
ifstream cin("koba.in");
ofstream cout("koba.out");
long long int n,a,b,c;
cin>>n>>a>>b>>c;
vector <int> v;
v.push_back(a%10);
v.push_back(b%10);
v.push_back(c%10);
for(int i=3;i<1005;i++)
{
v.push_back((v[i-1]+v[i-2]*v[i-3])%10);
//cout<<v[i];
}
long long int st,dr,steag=0;
for(int i=0;i<=1002;i++)
{
a=v[i];
b=v[i+1];
c=v[i+2];
for(int j=i+1;j<=1002;j++)
{
if(v[j]==a && v[j+1]==b && v[j+2]==c)
{
st=i;
dr=j;
steag=1;
break;
}
}
if(steag)
break;
}
///for(int )
// cout<<st<<" "<<dr;
long long int s=0;
for(int i=0;i<st;i++)
s+=v[i];
long long int s1=0;
for(int i=st;i<=dr+2;i++)
s1+=v[i];
n-=st;
s+=s1*(n/(dr+3-st));
for(int i=st;i<st+n%(dr+3-st);i++)
{
s+=v[i];
}
cout<<s;
return 0;
}