#pragma GCC diagnostic warning "-std=c++11"
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define f first
#define s second
#define MOD 1000000007
#define flush fflush(stdout)
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(), (x).rend()
#define pii pair<int,int>
using namespace std;
const int N=2005;
int n,m,T,k,l,val[N][N],q[N][N];
void test_case() {
cin>>n>>l;
int arr[n+1];
for (int i=1; i<=n; i++) {
cin>>arr[i];
}
for (int i=1; i<=n-l+1; i++) {
if (i==1) {
for (int j=i+1; j<=n-l+1; j++) {
val[i][j]=l; val[j][i]=l;
for (int o=0; o<l; o++) {
if (arr[i+o]==arr[j+o]) {
val[i][j]--; val[j][i]--;
}
}
}
continue;
}
for (int j=i+1; j<=n-l+1; j++) {
int cnt=val[i-1][j-1];
if (arr[i-1]==arr[j-1]) cnt++;
if (arr[i+l-1]==arr[j+l-1]) cnt--;
val[i][j]=cnt; val[j][i]=cnt;
}
}
for (int i=1; i<=n-l+1; i++) {
for (int j=i+1; j<=n-l+1; j++) {
q[val[i][j]][i]++; q[val[i][j]][j]++;
}
}
for (int i=1; i<=n-l+1; i++) {
for (int j=1; j<=n; j++) {
q[j][i]+=q[j-1][i];
}
}
int Q; cin>>Q;
for (int j=1; j<=Q; j++) {
int x; cin>>x;
for (int i=1; i<=n-l+1; i++) {
cout<<q[x][i]<<" ";
}
cout<<endl;
}
}
main () {
ios :: sync_with_stdio(0);
cin.tie(0); cout.tie(0);
T=1;
while (T--) test_case();
}
Compilation message (stderr)
lot.cpp:1:32: warning: '-std=c++11' is not an option that controls warnings [-Wpragmas]
1 | #pragma GCC diagnostic warning "-std=c++11"
| ^~~~~~~~~~~~
lot.cpp:59:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
59 | main () {
| ^~~~
# | 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... |