Cod sursa(job #1941152)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 27 martie 2017 00:08:40
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("12perm.in");
ofstream fout("12perm.out");

const int MOD = (1 << 20);

int v[4] = {1, 2, 6, 12};

int main() {
    ios::sync_with_stdio(false);

    int n;
    fin >> n;

    if(n == 1) {fout << v[0]; return 0;}
    if(n == 2) {fout << v[1]; return 0;}
    if(n == 3) {fout << v[2]; return 0;}
    if(n == 4) {fout << v[3]; return 0;}

    for(int i = 5; i <= n; i++) {
        int c = (v[3] + v[1] + 2 * (i - 2)) % MOD;

        for(int i = 0; i < 3; i++) v[i] = v[i + 1];
        v[3] = c;
    }

    fout << v[3];
    return 0;
}