Cod sursa(job #1447999)
Utilizator | Data | 5 iunie 2015 22:11:03 | |
---|---|---|---|
Problema | Grigo | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <cstdio>
#include <cstring>
#include <algorithm>
#define Nmax 100005
#define mod 1000003
using namespace std;
int n, j, m;
long long v[Nmax], i;
long long sol;
int main()
{
freopen("grigo.in", "r", stdin);
freopen("grigo.out", "w", stdout);
scanf("%d %d", &n, &m);
for (i = 1; i <= m; ++ i)
scanf("%lld", &v[i]);
sol = 1;
for (i = 1; i <= n; ++ i)
{
if (v[j + 1] == i)
++ j;
else
sol = (sol * (i - 1) * 1LL ) % mod;
}
printf("%lld", sol);
return 0;
}