Pagini recente » Cod sursa (job #644697) | Cod sursa (job #216198) | Cod sursa (job #1727923) | Cod sursa (job #1306708) | Cod sursa (job #1220756)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("grigo.in");
ofstream g ("grigo.out");
const int MOD = 1000003, MMAX = 100000 + 1;
int n, m;
int vizibil[MMAX];
long long solutie (int x) {
if (!vizibil[x]) {
if (x == n) return (n - 1);
return solutie(x + 1) * (x - 1) % MOD;
}
if (x == n) return 1;
return solutie (x + 1);
}
void citeste () {
f >> n >> m;
int x;
for (int i = 1; i <= m; i++) f >> x, vizibil[x] = 1;
}
int main () {
citeste();
if (vizibil[1] == 0) g << 0 << '\n';
else g << solutie(1) << '\n';
return 0;
}