Cod sursa(job #201752)

Utilizator alexeiIacob Radu alexei Data 3 august 2008 15:00:40
Problema Grigo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include<stdio.h>
#define nmax 100024
bool ok[nmax];
int sol[nmax];
const int much=1000003;
int main()
{freopen("grigo.in","r",stdin);
 freopen("grigo.out","w",stdout);
 int N,M;
 scanf("%d%d\n",&N,&M);
 int i,a1;sol[1]=1;
 while( M-- ){
 scanf("%d",&a1);
 ok[a1]=true;
 }
 for(i=2; i<=N; ++i){
          if( ok[i] )
          sol[i]=sol[i-1];
          else
          sol[i]=sol[i-1]*(i-1)%much;
 }
 printf("%d\n",sol[N]);
    return 0;
}