Cod sursa(job #1447997)

Utilizator akaprosAna Kapros akapros Data 5 iunie 2015 22:08:19
Problema Grigo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 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 a[Nmax];
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]);
    a[0] = 1;
    for (i = 1; i <= n; ++ i)
    {
        if (v[j + 1] == i)
        {
            ++ j;
            a[i] = a[i - 1];
        }else
        {
            a[i] = (a[i - 1] * (i - v[j] + 1) * 1LL) % mod;
        }

    }
    printf("%lld", a[n]);
    return 0;
}