Cod sursa(job #197882)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 6 iulie 2008 21:44:04
Problema Grigo Scor 50
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#define fin "grigo.in"
#define fout "grigo.out"
#define N 100010
#define mod 1000003
int n,k;
int marc[N],v[N];
int sol[N];
int main(void){
    int i,j;
    freopen(fin,"r",stdin);
    freopen(fout,"w",stdout);
    scanf("%d%d",&n,&k);
    for (i=1;i<=k;++i){
        scanf("%d",&v[k]);
        marc[v[k]]=1;
    }
    sol[1]=1;
    for (i=2;i<=n;++i){
        if (marc[i])
           sol[i]=sol[i-1];
        else
            sol[i]=(sol[i-1]*(i-1))%mod;
    }
    printf("%d\n",sol[n]);
    return 0;
}