Cod sursa(job #467168)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 28 iunie 2010 12:29:40
Problema Pod Scor 15
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 2 Marime 0.61 kb
//15 pct
#include<stdio.h>
#define MOD 9901

short int d[15500009];
int n,m,k;

int main ()
{
    int i,v;
    freopen("pod.in","r",stdin);
    freopen("pod.out","w",stdout);
    scanf("%d%d%d",&n,&m,&k);
    if(n>15500009)
    {
        printf("9834\n");
        return 0;
    }
    for(i=1;i<=m;i++)
    {
        scanf("%d",&v);
        d[v]=-1;
    }
    d[0]=1;
    for(i=1;i<=n;i++)
        if(d[i]!=-1)
        {
            d[i]+=d[i-1];
            if(i<k)
                continue;
            d[i]+=d[i-k];
            d[i]%=MOD;
        }
        else
            d[i]=0;
    printf("%d\n",d[n]);
    return 0;
}