Cod sursa(job #467137)

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

#include<iostream>
#include<fstream>
#include<bitset>
#include<cstring>
#define MOD 9901
bitset<80000005> hash;
short dp[1000];
int M,N,K;
ofstream fout("pod.out");
void solve()
{int i,j,ii;
    dp[0]=1;
    j=0;
    for(i=1;i<=N;i++)
    {j++;
    if(hash[i]==1) dp[j]=0;
    else
     {  dp[j]=dp[j-1]%9901;
       if(j-K>=0)
       dp[j]+=dp[j-K];
       dp[j]%=9901;
    }
         if(j==99)
        {memcpy(dp,dp+50,50);
        j=49;}

    }
    fout<<dp[j]<<"\n";
}
void cit()
{int x,i;
    ifstream fin("pod.in");
    fin>>N>>M>>K;
    for(i=0;i<=N;i++)
     hash[i]=0;
    for(i=1;i<=M;i++)
      {fin>>x;
      hash[x]=1;
      }
    fin.close();
}

int main()
{
    cit();

    solve();
    fout.close();
    return 0;
}