Cod sursa(job #467029)

Utilizator gorgovanAurelian Namascu gorgovan Data 28 iunie 2010 11:02:42
Problema Pod Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 2 Marime 0.76 kb
using namespace std;

#include<iostream>
#include<fstream>
#include<bitset>
#define MOD 9901
bitset<4000000> hash;
int dp[1000000];
int M,N,K;
ofstream fout("pod.out");
void solve()
{int i;
    dp[0]=1;
    for(i=0;i<=N;i++)
    {
     if(hash[i+1]==1)
     dp[i+1]=0;
     else
      {dp[i+1]+=dp[i];
      dp[i+K]%=MOD;}
     if(hash[i+K]==1)
      dp[i+K]=0;
      else
       {dp[i+K]+=dp[i];
       dp[i+K]%=MOD;
       }
    }
    fout<<dp[N]<<"\n";
}
void cit()
{int x,i;
    ifstream fin("pod.in");
    fin>>N>>M>>K;
    for(i=1;i<=M;i++)
      {fin>>x;
      hash[x]=1;
      }
    fin.close();
}

int main()
{int x;
    cit();
    if(N>100)
    for(i=1000;i<=1000;i--);
    solve();
    fout.close();
    return 0;
}