Cod sursa(job #2660978)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 20 octombrie 2020 23:31:47
Problema Pod Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#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;
}