Cod sursa(job #197842)

Utilizator Pepelea_FlaviuFlaviu Pepelea Pepelea_Flaviu Data 6 iulie 2008 17:33:31
Problema Grigo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
# include <stdio.h>

# define FIN "grigo.in"
# define FOUT "grigo.out"
# define MAXN 100001
# define INF 1000003

int precalc[MAXN];
unsigned char s[MAXN];
int N,M,i;

    int main()
    {
        freopen(FIN,"r",stdin);
        freopen(FOUT,"w",stdout);
        
        scanf("%d%d",&N,&M);
        int x;
        for (i = 1; i <= N; ++i)
          {
              scanf("%d",&x);
              s[x]=1;
          }
        precalc[0]=1;
        for (i = 1; i <= N; ++i)
          if (s[i]==1) precalc[i]=precalc[i-1];
          else precalc[i]=((i-1)*(precalc[i-1]%INF))%INF;
          
        printf("%d",precalc[N]);
        
        return 0;
    }