Cod sursa(job #2003588)

Utilizator victoreVictor Popa victore Data 23 iulie 2017 12:59:32
Problema Grigo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<cstdio>

using namespace std;

const int nmax=1e5+5;
const int mod=1e6+3;

long long dp[nmax];
bool viz[nmax];

int main()
{
    freopen("grigo.in","r",stdin);
    freopen("grigo.out","w",stdout);
    long long n,i,m;
    scanf("%lld%lld",&n,&m);;
    int a;
    for(i=1;i<=m;i++)
        scanf("%d",&a),viz[a]=1;
    dp[1]=1;
    for(i=2;i<=n;++i)
        if(viz[i])
            dp[i]=dp[i-1];
        else
            dp[i]=((i-1)*dp[i-1])%mod;
    printf("%lld",dp[n]);
}