Cod sursa(job #387515)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 27 ianuarie 2010 20:44:03
Problema Grigo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <cstdio>

#define FIN "grigo.in"
#define FOUT "grigo.out"

#define MOD 1000003
#define MAXN 100001

int N, M;
int P[MAXN], R[MAXN];

int main()
{
    int i, x;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d %d", &N, &M);

    for (i = 1; i <= M; ++ i)
    {
        scanf("%d", &x);

        P[x] = 1;
    }

    for (i = 1, R[0] = 1; i <= N; ++ i)
        R[i] = P[i] ? R[i - 1] : (1LL * R[i - 1]  * (i - 1)) % MOD;

    printf("%d\n", R[N]);
}