Pagini recente » Cod sursa (job #2310673) | Cod sursa (job #2972561) | Cod sursa (job #2795955) | Cod sursa (job #752037) | Cod sursa (job #2623466)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("koba.in");
ofstream fout("koba.out");
const int DIM = 1007;
int sum[DIM];
int pos[DIM];
int cod(int x, int y, int z)
{
return x * 100 + y * 10 + z;
}
main()
{
int n, t1, t2, t3;
fin >> n >> t1 >> t2 >> t3;
t1 %= 10;
t2 %= 10;
t3 %= 10;
sum[1] = t1;
sum[2] = t1 + t2;
sum[3] = t1 + t2 + t3;
if(n <= 3)
{
fout << sum[n] << '\n';
return 0;
}
pos[cod(t1, t2, t3)] = 3;
for(int i = 4; i <= n; ++i)
{
int t4 = (t3 + t2 * t1) % 10;
t1 = t2;
t2 = t3;
t3 = t4;
sum[i] = sum[i - 1] + t4;
if(i == n)
{
fout << sum[i] << '\n';
return 0;
}
int id = cod(t1, t2, t3);
if(pos[id] == 0)
{
pos[id] = i;
}
else
{
int it = pos[id];
int ans = sum[it] + (sum[i] - sum[it]) * ((n - it) / (i - it)) + (sum[it + ((n - it) % (i - it))] - sum[it]);
fout << ans << '\n';
return 0;
}
}
fout << sum[n] << '\n';
}