Pagini recente » Cod sursa (job #1179049) | Cod sursa (job #2354984) | Cod sursa (job #1420848) | Cod sursa (job #2813874) | Cod sursa (job #138656)
Cod sursa(job #138656)
#include <cstdio>
#include <cstring>
using namespace std;
#define FIN "koba.in"
#define FOUT "koba.out"
#define MAX_C 1000
#define MAX_N 100000
int P[MAX_C];
int A[MAX_N];
int N, t1, t2, t3;
int S;
int p;
long long BEST;
int rec (int a, int b, int c)
{
return a*100 + b*10 + c;
}
void solve ()
{
int i;
int T;
int sp = S = t1%10 + t2%10 + t3%10;
A[1] = t1%10; A[2] = A[1] + t2%10; A[3] = A[2] + t3%10;
for (i = 4; i <= N; ++i)
{
int ind = rec (t1%10, t2%10, t3%10);
if (!P[ind]) ++P[ind];
else
{
p = i;
break;
}
T = (t3 % 10 + (t2 % 10 * t1 % 10)) % 10;
t1 = t2 % 10;
t2 = t3 % 10;
t3 = T % 10;
A[i] = S += T%10;
}
p -= 4;
BEST = (long long) (N/p)*(S - sp);
BEST += (long long) A[N%p];
printf ("%lld\n", BEST);
}
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d %d %d %d", &N, &t1, &t2, &t3);
solve ();
return 0;
}