Cod sursa(job #2037337)

Utilizator tifui.alexandruTifui Ioan Alexandru tifui.alexandru Data 12 octombrie 2017 00:32:21
Problema Pod Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
// 15 pct
#include <bits/stdc++.h>
#define Nmax 1000001
#define Mmax 1001
#define Kmax 20
#define MOD 9901
using namespace std;
ifstream f("pod.in");
ofstream g("pod.out");
int v[Kmax+1];
int good[Mmax];
int main()
{
    int n,m,i,k,x;
    f>>n>>m>>k;
    for(i=1;i<=m;i++)
        f>>good[i];
    sort(good+1,good+m+1);
    bool ok=false;
    int poz=1;
    for(i=1;i<k;i++)
        if(i==good[poz])
        {
            ++poz;
            ok=true;
        }
        else if(!ok) v[i]=1;
    v[k]=v[k-1]+1;
    for(i=k+1;i<=n;i++)
        if(i==good[poz])
            ++poz;
        else
            v[i%Kmax]=(v[(i-1)%Kmax]+v[(i-k)%Kmax])%MOD;
    g<<v[n%20];

    return 0;
}