Pagini recente » Cod sursa (job #1039460) | Cod sursa (job #2966738) | Cod sursa (job #2709910) | Cod sursa (job #2748809) | Cod sursa (job #484810)
Cod sursa(job #484810)
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <deque>
#define maxK 22
#define maxM 1020
#define mod 9901
using namespace std;
int N, M, K;
int pos[maxM];
deque <int> D;
int main() {
int i, j;
freopen("pod.in", "r", stdin);
freopen("pod.out", "w", stdout);
scanf("%d%d%d", &N, &M, &K);
for (i = 1; i <= M; i++)
scanf("%d", &pos[i]);
sort(pos + 1, pos + M + 1);
j = 1;
D.push_back(1);
for (i = 1; i < K; i++) {
if (pos[j] == i) {
D.push_back(0);
j++;
}
else
D.push_back(D.back());
}
for (i = K; i <= N; i++) {
int curr = D.back() + D.front();
if (pos[j] == i) {
curr = 0;
j++;
}
curr = curr % mod;
D.push_back(curr);
D.pop_front();
}
printf("%d\n", D.back());
return 0;
}