Cod sursa(job #1373733)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 4 martie 2015 20:20:17
Problema Grigo Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <stdio.h>
#define MOD 1000003
#define MAXN 100000
int v[MAXN+1];
int main(){
    int n, m, i, x, ans, k;
    FILE *fin, *fout;
    fin=fopen("grigo.in", "r");
    fout=fopen("grigo.out", "w");
    fscanf(fin, "%d%d", &n, &m);
    for(i=0; i<m; i++){
        fscanf(fin, "%d", &x);
        v[x]=1;
    }
    if(v[1]==0){
        fprintf(fout, "0\n");
    }else{
        ans=1;
        i=n;
        while(i>1){
            k=i-1;
            while(v[i]==0){
                i--;
                ans=(ans*(long long)k)%MOD;
                k--;
            }
            i--;
        }
        fprintf(fout, "%d\n", ans);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}