Cod sursa(job #197726)
Utilizator | Data | 5 iulie 2008 16:45:55 | |
---|---|---|---|
Problema | Grigo | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<cstdio>
using namespace std;
long i,j,n,m,im[100001],x,xm,sol[100001];
int main()
{ freopen("grigo.in","r",stdin);
freopen("grigo.out","w",stdout);
scanf("%ld%ld",&n,&m);
for(i=1;i<=m;i++)
{ scanf("%ld",&x);
im[x]=1;
}sol[1]=1;
for(i=2;i<=n;i++)
{ if(im[i])sol[i]=sol[i-1];
else sol[i]=(i-1)*sol[i-1];
}
printf("%ld",sol[n]);
return 0;
}