Cod sursa(job #2058593)

Utilizator PondorastiAlex Turcanu Pondorasti Data 5 noiembrie 2017 21:11:20
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.41 kb
#include <fstream>

using namespace std;

const int NMAX = 15e6, MOD = (1 << 20);
int dp[5], n;

int main() {

    ifstream cin("12perm.in");
    ofstream cout("12perm.out");

    cin >> n;

    dp[1] = 1, dp[2] = 2, dp[3] = 6, dp[0] = 12;
    for(int i = 5; i <= n; ++i)
        dp[i % 4] = (dp[(i - 1) % 4] + dp[(i - 3) % 4] + 2 * (i - 2)) % MOD;

    cout << dp[n % 4] << "\n";

    return 0;
}