Pagini recente » Cod sursa (job #3143116) | Cod sursa (job #595707) | Cod sursa (job #1181823) | Cod sursa (job #1705314) | Cod sursa (job #467222)
Cod sursa(job #467222)
#include <algorithm>
#include <cassert>
#include <cctype>
#include <cmath>
#include <cstring>
#include <ctime>
#include <bitset>
#include <deque>
#include <fstream>
#include <list>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;
typedef bool int01;
typedef char cha08;
typedef short int int16;
typedef int int32;
typedef float rea32;
typedef long long int int64;
typedef double rea64;
const cha08 Input[] = "pod.in";
const cha08 Output[] = "pod.out";
const int32 Mod = 9901;
int32 N, M, K;
vector <int32> sol;
int32 main() {
ifstream fin( Input );
ofstream fout( Output );
int32 i, x;
fin >> N >> M >> K;
sol.resize( N + 1 );
for( i = 0; i < M; ++i ) {
fin >> x;
sol[x] = -1;
}
for( sol[0] = 1, i = 0; i < N; ++i )
if( sol[i] != -1 ) {
if( sol[i + 1] != -1 )
sol[i + 1] = (sol[i + 1] + sol[i]) % Mod;
if( sol[i + K] != -1 )
sol[i + K] = (sol[i + K] + sol[i]) % Mod;
}
fout << sol[N];
fin.close();
fout.close();
return 0;
}