Cod sursa(job #387533)
Utilizator | Data | 27 ianuarie 2010 21:11:34 | |
---|---|---|---|
Problema | Grigo | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<stdio.h>
int n,m,f[100005],d[100005];
int main ()
{
int i,x;
freopen("grigo.in","r",stdin);
freopen("grigo.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d",&x);
f[x]=1;
}
d[0]=1;
for(i=1;i<=n;i++)
if(f[i])
d[i]=d[i-1];
else
d[i]=d[i-1]*(i-1);
printf("%d\n",d[n]);
return 0;
}