5902021-11-03 22:18:53TSomaToronyépítés (1,1,3,3)cpp14Accepted 50/503ms1208 KiB
#include <stdio.h>

#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")

int main()
{
    int N;
    #pragma warning(suppress : 4996)
    scanf("%d\n", &N);
    N -= 12;

    unsigned long long int a = 2;
    unsigned long long int b = 4;
    unsigned long long int c = 10;
    unsigned long long int d = 24;
    unsigned long long int e = 56;
    unsigned long long int f = 132;
    unsigned long long int g = 312;
    unsigned long long int h = 736;
    unsigned long long int i = 1736;
    unsigned long long int j = 4096;
    unsigned long long int k = 9664;
    unsigned long long int l = 22800;


    while (N > 0)
    {
        a = 2 * (l + j);
        b = 2 * (a + k);
        c = 2 * (b + l);
        d = 2 * (c + a);
        e = 2 * (d + b);
        f = 2 * (e + c);
        g = 2 * (f + d);
        h = 2 * (g + e);
        i = 2 * (h + f);
        j = 2 * (i + g);
        k = 2 * (j + h);
        l = 2 * (k + i);

        if (f >= 20210108) {
            a %= 20210108;
            b %= 20210108;
            c %= 20210108;
            d %= 20210108;
            e %= 20210108;
            f %= 20210108;
            g %= 20210108;
            h %= 20210108;
            i %= 20210108;
            j %= 20210108;
            k %= 20210108;
            l %= 20210108;
        }

        N -= 12;
    }

    
    switch (N % 12)
    {
    case 0:
        printf("%d\n", l % 20210108);
        break;
    case -1:
        printf("%d\n", k % 20210108);
        break;
    case -2:
        printf("%d\n", j % 20210108);
        break;
    case -3:
        printf("%d\n", i % 20210108);
        break;
    case -4:
        printf("%d\n", h % 20210108);
        break;
    case -5:
        printf("%d\n", g % 20210108);
        break;
    case -6:
        printf("%d\n", f % 20210108);
        break;
    case -7:
        printf("%d\n", e % 20210108);
        break;
    case -8:
        printf("%d\n", d % 20210108);
        break;
    case -9:
        printf("%d\n", c % 20210108);
        break;
    case -10:
        printf("%d\n", b % 20210108);
        break;
    case -11:
        printf("%d\n", a % 20210108);
        break;
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms1004 KiB
2Accepted0/01ms1120 KiB
3Accepted3/31ms1144 KiB
4Accepted3/31ms1204 KiB
5Accepted4/41ms1208 KiB
6Accepted4/41ms1204 KiB
7Accepted4/43ms1208 KiB
8Accepted4/41ms1076 KiB
9Accepted4/41ms1056 KiB
10Accepted4/41ms1144 KiB
11Accepted4/41ms1080 KiB
12Accepted4/42ms1208 KiB
13Accepted4/42ms1140 KiB
14Accepted4/42ms1192 KiB
15Accepted2/21ms1144 KiB
16Accepted2/21ms1080 KiB