#include <bits/stdc++.h>
using namespace std;
int go[10005][10005];
int main() {
int n, l;
cin >> n >> l;
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = n - 1; i >= 0; i--) {
for (int j = n - 1; j >= i; j--) {
go[i][j] = go[i + 1][j + 1];
if (a[i] != a[j]) {
go[i][j]++;
}
}
}
vector <int> v[n - l + 1];
for (int i = 0; i <= n - l; i++) {
for (int j = 0; j <= n - l; j++) {
if (i == j) {
continue;
}
v[i].push_back(go[min(i, j)][max(i, j)] - go[min(i, j) + l][max(i, j) + l]);
}
sort(v[i].begin(), v[i].end());
}
int q;
cin >> q;
while (q--) {
int k;
cin >> k;
for (int i = 0; i <= n - l; i++) {
int ind = upper_bound(v[i].begin(), v[i].end(), k) - v[i].begin();
cout << ind << " ";
}
cout << "\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |