#include <bits/stdc++.h>
using namespace std;
int a,b;
int z[1000005];
vector<vector<short>> f;
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> a >> b;
for (int i=1;i<=a;i++){
cin >> z[i];
}
f.resize(a-b+2,vector<short>(b+1));
for (int i=2;i+b-1<=a;i++){
int sta=1;
int sta1=i;
int cur=0;
for (int j=0;j<b;j++){
if (z[j+sta]!=z[j+sta1]){
cur++;
}
}
f[sta][cur]++;
f[sta1][cur]++;
for (int j=i+b;j<=a;j++){
if (z[sta]!=z[sta1]){
cur--;
}
sta++;
sta1++;
if (z[sta+b-1]!=z[sta1+b-1]){
cur++;
}
f[sta][cur]++;
f[sta1][cur]++;
}
}
for (int i=1;i<=a-b+1;i++){
for (int j=1;j<=b;j++){
f[i][j]+=f[i][j-1];
}
}
int q;
cin >> q;
while (q--){
int x;
cin >> x;
for (int i=1;i<=a-b+1;i++){
cout << f[i][x] << " ";
}
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... |