Pagini recente » Cod sursa (job #2642984) | Cod sursa (job #2080249) | Cod sursa (job #1738347) | Cod sursa (job #1593891) | Cod sursa (job #1254440)
#include<fstream>
using namespace std;
int n, v[1000], i, ok, p, u, s, sc, k, j;
pair<int, int> m[13][13][13];
ifstream in("koba.in");
ofstream out("koba.out");
int main(){
in>>n;
in>>v[1]>>v[2]>>v[3];
v[1]%=10;
v[2]%=10;
v[3]%=10;
k=3;
//m[v[1]][v[2]][v[3]].first++;
//m[v[1]][v[2]][v[3]].second=1;
for(i=4; ok!=1 && i<=n; i++){
v[++k]=(v[i-1]+v[i-2]*v[i-3])%10;
m[v[k-1]][v[k-2]][v[k-3]].first++;
if(m[v[k-1]][v[k-2]][v[k-3]].first==1)
m[v[k-1]][v[k-2]][v[k-3]].second=k-3;
else{
ok=1;
p=m[v[k-1]][v[k-2]][v[k-3]].second;
u=i-4;
}
}
if(ok==0){
for(i=1; i<=n; i++)
s+=v[i];
out<<s;
}
else{
//out<<p<<" "<<u<<"\n";
for(i=1; i<p; i++)
s+=v[i];
for(i=p; i<=u; i++)
sc+=v[i];
n-=(p-1);
s+=(n/(u-p+1))*sc;
for(i=p, j=1; j<=n%(u-p+1); i++, j++)
s+=v[i];
out<<s;
}
return 0;
}