#include <bits/stdc++.h>
#pragma GCC optimize("O3")
// #define int long long
#define ll long long
#define pb push_back
#define fi first
#define se second
#define lf (id<<1)
#define rg ((id<<1)|1)
#define md ((l+r)>>1)
#define ld long double
using namespace std;
typedef pair<int,int> pii;
typedef pair<int,pii> ipii;
const int MAXN = 4e3+10;
const int MAXA = 1e9;
const int INF = 2e9+100;
const int SQRT = 500;
const int LOG = 19;
const int MOD = 998244353;
void chmn(auto &a, auto b){ a = min(a, b); }
void chmx(auto &a, auto b){ a = max(a, b); }
int sum(int a, int b){ a %= MOD; b %= MOD; return (a+b)%MOD; }
void chsum(int &a, int b){ a %= MOD; b %= MOD; a = (a+b)%MOD; }
void chsub(int &a, int b){ a %= MOD; b %= MOD; a = (a+MOD-b)%MOD; }
int mul(int a, int b){ a %= MOD; b %= MOD; return a*b%MOD;}
void chmul(int &a, int b){ a = a*b%MOD; }
int expo(int a, int b){
if(b==0) return 1;
int te = expo(a, b/2); te = mul(te, te);
return (b%2 ? mul(te, a) : te);
}
int n, l;
int a[MAXN], same[MAXN][MAXN];
int dif[MAXN][MAXN];
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n>>l;
for(int i=1; i<=n; i++) cin>>a[i];
for(int i=1; i<=n; i++){ // a[i]
for(int j=1; j<=n; j++){
if(a[i] != a[j] || i==j) continue;
dif[max(1,i-l+1)][n + i-j]++; dif[i+1][n + i-j]--; // yg start di
// if(i-j==-3) cout << max(1,i-l+1) << ' '<< i+1 <<" staen\n";
}
}
for(int j=-n; j<=n; j++){
for(int i=1; i<=n; i++){
// i-(i-n+l-1) --> n-l+1,
// distancenya, seg[i] sm seg[i-j] samanya brp
dif[i][n + j] += dif[i-1][n + j];
// cout << i << ' ' << j << ' '<< dif[i][n + j] << " dif\n";
}
}
for(int i=1; i<=n; i++){
for(int j=i-1; j>=i-n+l-1; j--){
if(j==0) continue;
same[i][ dif[i][n + j] ]++;
// seg[i] yg samanya k ada brp
}
// for(int j=0; j<=l; j++){
// cout << i << ' ' << j << ' '<< same[i][j]<< " j\n";
// seg[i] yg samanya k ada brp
// }
for(int j=l; j>=0; j--)
same[i][j] += same[i][j+1];
}
int q; cin>>q;
while(q--){
int x; cin>>x; x = l-x; // samanya x
for(int i=1; i<=n-l+1; i++)
cout << same[i][x] << ' ';
cout << '\n';
}
}
# | 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... |