Pagini recente » Cod sursa (job #268657) | Cod sursa (job #2618081) | Cod sursa (job #2848654) | Cod sursa (job #3273321) | Cod sursa (job #2172260)
#include<cstdio>
int viz[1005],v[2005];
int main(){
freopen("koba.in","r",stdin);
freopen("koba.out","w",stdout);
int n,t1,t2,t3,i,u=0,begi,endi,ne;
long long sum=0;
scanf("%d%d%d%d",&n,&t1,&t2,&t3);
viz[(t1%10)*100+(t2%10)*10+(t3%10)]=1;
v[++u]=t1%10;
v[++u]=t2%10;
v[++u]=t3%10;
while(1){
ne=(v[u]+v[u-1]*v[u-2])%10;
if (viz[(v[u-1]%10)*100+(v[u]%10)*10+(ne%10)]==0)
viz[(v[u-1]%10)*100+(v[u]%10)*10+(ne%10)]=u-1;
else{
begi=viz[(v[u-1]%10)*100+(v[u]%10)*10+(ne%10)];
endi=u-2;
break;}
v[++u]=ne;}
if (n<begi){
for(i=1;i<=n;i++)
sum=sum+1LL*v[i];
printf("%lld\n",sum);}
else{
for(i=1;i<begi;i++)
sum=sum+1LL*v[i];
long long sum2=0;
for(i=begi;i<=endi;i++)
sum2=sum2+1LL*v[i];
sum=sum+sum2*((n-begi+1)/(endi-begi+1));
int lim=(n-begi+1)%(endi-begi+1);
for(i=begi;i<begi+lim;i++)
sum=sum+v[i];
printf("%lld\n",sum);}
return 0;}