Cod sursa(job #1480561)

Utilizator DrumeaVDrumea Vasile DrumeaV Data 2 septembrie 2015 19:24:20
Problema 12-Perm Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;

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

typedef long long ll;

const ll MD = 1 << 20;

ll N,Sol;
ll 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 (ll i = 5;i <= N;i++)
    {
        A[1] = A[2];
        A[2] = A[3];
        A[3] = A[4];
        A[4] = (A[3] + A[1] + 1LL * 2 * (i - 2)) % MD;
    }

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

  return 0;
}