Cod sursa(job #792699)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 29 septembrie 2012 10:35:42
Problema Grigo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in ("grigo.in");
ofstream out ("grigo.out");

const int MAXN = 100010;
const int MOD = 1000003;

int Sol[MAXN];
bool visible[MAXN];

int main ()
{
	int N, M, x, i;
	
	in >> N >> M;
	
	for (i = 1; i <= M; i ++)
		in >> x, visible[x] = 1;
	
	Sol[0] = 1;
	for (i = 1; i <= N; i ++)
		if (visible[i])
			Sol[i] = Sol[i - 1];
		else
			Sol[i] = ((i - 1) * Sol[i - 1]) % MOD;
		
	out << Sol[N];
	
	return 0;
}