1126 | 2022. 03. 05 00:02:23 | TSoma | Toronyépítés (1,1,3,3) | cpp14 | Elfogadva 50/50 | 2ms | 1312 KiB |
#undef _GLIBCXX_DEBUG
#pragma GCC optimize("Ofast,inline")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization ("unroll-loops")
#include <stdio.h>
#include <stdint.h>
int main()
{
int N;
#pragma warning(suppress : 4996)
scanf("%d\n", &N);
int_fast32_t a = 2, b = 4, c = 10, d = 24, e = 56, f = 132;
const int_fast32_t x = 2, y = 10105054000000000, z = 202101080000, m = 20210108;
N -= 6;
while (N > 0)
{
a = x * (f + d);
b = x * (a + e);
c = x * (b + f);
d = x * (c + a);
e = x * (d + b);
f = x * (e + c);
if (f >= y) {
d %= z;
e %= z;
f %= z;
}
N -= 6;
}
switch (N % 6) {
case 0: printf("%d\n", f % m); break;
case -1: printf("%d\n", e % m); break;
case -2: printf("%d\n", d % m); break;
case -3: printf("%d\n", c % m); break;
case -4: printf("%d\n", b % m); break;
case -5: printf("%d\n", a % m); break;
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 2ms | 1160 KiB | |||
2 | Elfogadva | 0/0 | 1ms | 1240 KiB | |||
3 | Elfogadva | 3/3 | 1ms | 1308 KiB | |||
4 | Elfogadva | 3/3 | 1ms | 1312 KiB | |||
5 | Elfogadva | 4/4 | 1ms | 1252 KiB | |||
6 | Elfogadva | 4/4 | 1ms | 1256 KiB | |||
7 | Elfogadva | 4/4 | 2ms | 1264 KiB | |||
8 | Elfogadva | 4/4 | 1ms | 1196 KiB | |||
9 | Elfogadva | 4/4 | 1ms | 1204 KiB | |||
10 | Elfogadva | 4/4 | 1ms | 1268 KiB | |||
11 | Elfogadva | 4/4 | 1ms | 1276 KiB | |||
12 | Elfogadva | 4/4 | 2ms | 1200 KiB | |||
13 | Elfogadva | 4/4 | 2ms | 1264 KiB | |||
14 | Elfogadva | 4/4 | 1ms | 1268 KiB | |||
15 | Elfogadva | 2/2 | 1ms | 1272 KiB | |||
16 | Elfogadva | 2/2 | 1ms | 1208 KiB |