Cod sursa(job #2490752)

Utilizator victorv88Veltan Victor victorv88 Data 10 noiembrie 2019 20:31:50
Problema Pod Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

ifstream f("pod.in");
ofstream g("pod.out");

vector<int>imposibil;

const int mod=9901;

int n, m, k,x, auxk, ind;
int dp[25];

void solve()
{
    dp[0]=1;
    for (int i=1; i<=n; ++i)
    {
        if (imposibil[ind]==i)
            {dp[i%auxk]=0;
                ++ind;
            }
        else
        {
            dp[i%auxk]=0;
            if (i-k>=0)
            {
                dp[i%auxk]+=dp[(i-k)%auxk];
            }
            dp[i%auxk]+=dp[(i-1)%auxk];
            dp[i%auxk]%=mod;
        }
    }
    g << dp[n%auxk];
}

int main( )
{
    f >> n >> m >> k;
    for (int i=1; i<=m; ++i)
    {
        f >> x;
        imposibil.push_back(x);
    }
    auxk=k+1;
    imposibil.push_back(0);
    solve();
    return 0;
}