11252022-03-04 23:53:48TSomaToronyépítés (1,1,3,3)cpp14Accepted 50/502ms1268 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;

    N -= 6;

    while (N > 0)
    {
        a = 2 * (f + d);
        b = 2 * (a + e);
        c = 2 * (b + f);
        d = 2 * (c + a);
        e = 2 * (d + b);
        f = 2 * (e + c);

        if (f >= 10105054000000000) {
            d %= 202101080000;
            e %= 202101080000;
            f %= 202101080000;
        }

        N -= 6;
    }


    switch (N % 6) {
        case 0: printf("%d\n", f % 20210108); break;
        case -1: printf("%d\n", e % 20210108); break;
        case -2: printf("%d\n", d % 20210108); break;
        case -3: printf("%d\n", c % 20210108); break;
        case -4: printf("%d\n", b % 20210108); break;
        case -5: printf("%d\n", a % 20210108); break;
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms1224 KiB
2Accepted0/01ms1200 KiB
3Accepted3/31ms1228 KiB
4Accepted3/31ms1232 KiB
5Accepted4/41ms1104 KiB
6Accepted4/41ms1236 KiB
7Accepted4/42ms1176 KiB
8Accepted4/41ms1120 KiB
9Accepted4/41ms1248 KiB
10Accepted4/41ms1192 KiB
11Accepted4/41ms1192 KiB
12Accepted4/42ms1136 KiB
13Accepted4/42ms1268 KiB
14Accepted4/42ms1140 KiB
15Accepted2/21ms1144 KiB
16Accepted2/21ms1216 KiB