Pagini recente » Cod sursa (job #2897981) | Cod sursa (job #94054) | Cod sursa (job #557211) | Cod sursa (job #443628) | Cod sursa (job #2660978)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("pod.in");
ofstream fout("pod.out");
const int mod = 9901;
int n, m, k;
unordered_map <int, bool> fr;
int main(){
fin >> n >> m >> k;
for (int i = 1; i <= m; ++i){
int x;
fin >> x;
fr[x] = true;
}
vector <int> dp(n + 2);
dp[n] = 1;
for (int i = n - 1; i >= 0; --i){
if (fr[i] == true) continue;
if (fr[i + 1] == false) dp[i] = dp[i + 1];
if (k > 1 && i + k <= n + 1 && fr[i + k] == false){
dp[i] = (dp[i] + dp[i + k]) % mod;
}
}
fout << dp[0];
return 0;
}