Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>using namespace std;const int P = 1000000009;const int MAXN = 110;int a[MAXN], c[MAXN][MAXN];int main() {ios::sync_with_stdio(false);c[0][0] = 1;for (int i = 1; i <= 100; i++) {c[i][0] = c[i][i] = 1;for (int j = 1; j < i; j++) {c[i][j] = (c[i - 1][j - 1] + c[i - 1][j]) % P;}}int n, m, k;cin >> n >> m >> k;for (int i = 1; i <= n; i++) cin >> a[i];int ans = 0;for (int i = 1; i <= n; i++) {int cnt = 0;for (int j = i + 1; j <= n; j++) {if ((a[j] - a[i]) % k == 0) cnt++;}if (cnt >= m - 1) {ans = (ans + c[cnt][m- 1]) % P;}}cout << ans << endl;return 0;}