Pagini recente » Cod sursa (job #1764667) | Cod sursa (job #2289439) | Cod sursa (job #1533190) | Cod sursa (job #1096435) | Cod sursa (job #2979386)
#include <bits/stdc++.h>
#define VMAX 1002
using namespace std;
int n,a,b,c,vf[VMAX],sp[VMAX],len,st,t[VMAX];
int ans;
ifstream fin("koba.in");
ofstream fout("koba.out");
int main()
{
fin >> n >> a >> b >> c;
a %= 10; b %= 10; c %= 10;
t[1] = a; vf[a] = 1;
t[2] = b; vf[a*10+b] = 2;
t[3] = c; vf[a*100+b*10+c] = 3;
int cnt = 3;
while(1){
cnt++;
int d = c+b*a;
d %= 10;
a = b;
b = c;
c = d;
int pos = a*100+b*10+c;
t[cnt] = c;
if(vf[pos] != 0){
len = (cnt-1)-vf[pos]+1;
st = vf[pos];
break;
}
vf[pos] = cnt;
}
for(int i = 1; i <= cnt; i++){
sp[i] = sp[i-1]+t[i];
}
if(n <= st){
fout << sp[n];
}else{
ans += sp[st-1];
int sumper = sp[cnt-1]-sp[st-1];
ans += ((n-(st-1))/len)*sumper;
int rest = (n-(st-1))%len;
for(int i = st; i <= st+rest-1; i++){
ans += t[i];
}
fout << ans;
}
return 0;
}