4982021-11-03 18:36:18SzankaBenedekToronyépítés (1,1,3,3)cpp11Elfogadva 50/507ms2068 KiB
#include <iostream>
#include <vector>

using namespace std;

int fast_mod(const int input, const int ceil) {
    return input >= ceil ? input % ceil : input;
}

int main()
{
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int i;
    cin >> i;

    int a = 2;
    int b = 4;
    int c = 10;
    for (; i > 3; i -= 3)
    {
        
        a = 2 * (c + a);
        a = fast_mod(a , 20210108);
        b = 2 * (a + b);
        b = fast_mod(b , 20210108);
        c = 2 * (b + c);
        c = fast_mod(c , 20210108);

        // a = 2 * (c + a) % 20210108;
        // b = 2 * (a + b) % 20210108;
        // c = 2 * (b + c) % 20210108;
    }

    switch (i)
    {
    case 1:
        cout << a;
        break;
    case 2:
        cout << b;
        break;
    case 3:
        cout << c;
        break;
    }
}

// int t[3];
// a = 2;
// b = 4;
// c = 10;
// for (; i > 3; i -= 3)
// {
//     a = (2 * c + 2 * a) % 20210108;
//     b = (2 * a + 2 * b) % 20210108;
//     c = (2 * b + 2 * c) % 20210108;
// }
// cout << t[i - 1] << "\n";

// int v[input];
// v[0] = 2;
// v[1] = 4;
// v[2] = 10; //8+2
// for (int n = 3; n < input; n++)
// {
//     v[n] = (2 * v[n - 1] + 2 * v[n - 3]) % 20210108;
// }
// cout << v[input - 1] << "\n";
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1968 KiB
2Elfogadva0/01ms2012 KiB
3Elfogadva3/31ms2016 KiB
4Elfogadva3/31ms2000 KiB
5Elfogadva4/41ms2004 KiB
6Elfogadva4/41ms2028 KiB
7Elfogadva4/47ms2032 KiB
8Elfogadva4/42ms2028 KiB
9Elfogadva4/41ms2024 KiB
10Elfogadva4/41ms2048 KiB
11Elfogadva4/42ms2048 KiB
12Elfogadva4/46ms2052 KiB
13Elfogadva4/46ms2056 KiB
14Elfogadva4/43ms2052 KiB
15Elfogadva2/21ms2064 KiB
16Elfogadva2/21ms2068 KiB