Pagini recente » Istoria paginii runda/sdfa | Cod sursa (job #2212148) | Cod sursa (job #1895968) | Cod sursa (job #1526856) | Cod sursa (job #780079)
Cod sursa(job #780079)
#include<fstream>
using namespace std;
int a[10][10][10],t1,t2,t3,n,s[1005];
int main(void){
ifstream fin("koba.in");
ofstream fout("koba.out");
int i,j,sper=0,pos,lper=0;
long long sol=0;
fin>>n>>t1>>t2>>t3; pos=1; i=3; s[1]=t1%10; s[2]=t2%10; s[3]=t3%10;
while (a[s[i-2]][s[i-1]][s[i]]==0){
a[s[i-2]][s[i-1]][s[i]]=pos;
int aux=((s[i-2]*s[i-1])%10+s[i])%10;
++i; ++pos; s[i]=aux;
}
pos=a[s[i-2]][s[i-1]][s[i]];
for (j=1; j<pos; ++j) sol+=s[j];
lper=i-pos-2;
for (j=pos; j<i-2; ++j) sper+=s[j];
sol+=(n-pos)/lper*sper; int aux=lper;
while (lper<n) lper+=aux; n=n-pos-lper+aux;
if (n>0) ++n;
for (j=1; j<=n; ++j) sol+=s[j+pos-1];
fout<<sol;
return(0);
}