Cod sursa(job #2069823)
| Utilizator | Data | 18 noiembrie 2017 20:46:19 | |
|---|---|---|---|
| Problema | Grigo | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("grigo.in");
ofstream out("grigo.out");
const int NMAX = 1e5, MOD = 1000003;
int n, m;
int ans[NMAX + 5];
bool viz[NMAX + 5];
int main()
{
in >> n >> m;
while(m--)
{
int pos;
in >> pos;
viz[pos] = true;
}
ans[1] = viz[1];
for(int i = 2; i <= n; i++)
{
ans[i] = ans[i - 1];
if(!viz[i])
ans[i] = (ans[i] * (i - 1)) % MOD;
}
out << ans[n] << '\n';
return 0;
}
