Cod sursa(job #980679)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 5 august 2013 14:09:45
Problema Grigo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in ("pviz.in");
ofstream out ("pviz.out");

const int MAXN = 2010;
const int MOD = 10007;

long long Sol[MAXN];
bool visible[MAXN];

int main ()
{
    int N, M, x, i;

    in >> N >> M;

    for (i = 1; i <= M; i ++)
        in >> x, visible[x] = 1;

    Sol[1] = 1;
    for (i = 2; i <= N; i ++)
        if (visible[i])
            Sol[i] = (1LL * Sol[i - 1]) % MOD;
        else
            Sol[i] = (1LL * (long long) (i - 1) * Sol[i - 1]) % MOD;

    out << (Sol[N] % MOD);

    return 0;
}