Pagini recente » Cod sursa (job #598939) | Cod sursa (job #2367947) | Cod sursa (job #763383) | Cod sursa (job #1040915) | Cod sursa (job #1695660)
#include <fstream>
#define CIF 15
#define VAL 1005
using namespace std;
ifstream fin("koba.in");
ofstream fout("koba.out");
int N, C, i, v[VAL], ind;
int K, sum[VAL], j, S, s;
int ap[CIF][CIF][CIF];
int main()
{
fin >> N >> v[1] >> v[2] >> v[3];
for (i=1; i<=N; i++)
{
if (i<=3)
{
fin >> v[i];
K++;
v[i]%=10;
sum[i]=v[i]+sum[i-1];
if (i==3)
ap[v[i]][v[i-1]][v[i-2]]=3;
}
else
{
v[i]=v[i-1]+v[i-2]*v[i-3];
v[i]%=10;
if (ap[v[i]][v[i-1]][v[i-2]]>0)
{
ind=ap[v[i]][v[i-1]][v[i-2]]-3;
K=i-ap[v[i]][v[i-1]][v[i-2]];
S=sum[ap[v[i]][v[i-1]][v[i-2]]-3];
s=sum[i-1]+v[i]-sum[ap[v[i]][v[i-1]][v[i-2]]];
break;
}
else
{
sum[i]=sum[i-1]+v[i];
ap[v[i]][v[i-1]][v[i-2]]=i;
}
}
}
C=(N-ind) / K;
S+=C*s;
j=ind;
for (i=ind+C*K+1; i<=N; i++)
{
j++;
S+=v[j];
}
fout << S << '\n';
fin.close();
fout.close();
return 0;
}