Cod sursa(job #1480564)

Utilizator DrumeaVDrumea Vasile DrumeaV Data 2 septembrie 2015 19:26:48
Problema 12-Perm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;

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

const int MD = 1 << 20;

int N,Sol;
int A[5];

int main()
{
    fin >> N;

    A[1] = 1;
    A[2] = 2;
    A[3] = 6;
    A[4] = 12;

    if (N < 5)
    {
        fout << A[N] << "\n";
        return 0;
    }

    for (int i = 5;i <= N;i++)
    {
        A[1] = A[2];
        A[2] = A[3];
        A[3] = A[4];
        A[4] = (A[3] + A[1] + (2 * (i - 2)) % MD) % MD;
    }

    fout << A[4] << "\n";

  return 0;
}