Cod sursa(job #467262)

Utilizator ProtomanAndrei Purice Protoman Data 28 iunie 2010 13:39:23
Problema Pod Scor 15
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 2 Marime 0.69 kb
#include <algorithm>
#include <stdio.h>
#include <time.h>

using namespace std;

int n, m, k;
int sol[1000010], marc[1000010];

int main()
{
    srand(time(0));
    freopen("pod.in", "r", stdin);
    freopen("pod.out", "w", stdout);

    scanf("%d %d %d", &n, &m, &k);

    for (int i = 1; i <= m; i++)
    {
        int x;
        scanf("%d", &x);

        marc[x] = 1;
    }

    sol[0] = 1;
    for (int i = 0; i <= n; i++)
    {
        if (!marc[i + 1])
            sol[i + 1] = (sol[i + 1] + sol[i]) % 9901;
        if (!marc[i + k])
            sol[i + k] = sol[i];
    }

    printf("%d\n", sol[n]);

    fclose(stdin);
    fclose(stdout);
    return 0;
}