제출 #1282772

#제출 시각아이디문제언어결과실행 시간메모리
1282772julia_08Lottery (CEOI18_lot)C++20
45 / 100
21 ms16296 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 2e3 + 10; const int MAXQ = 110; int a[MAXN]; int ans[MAXN][MAXN]; int main(){ cin.tie(0)->sync_with_stdio(0); int n, l; cin >> n >> l; for(int i=1; i<=n; i++) cin >> a[i]; for(int d=1; d<n; d++){ int p = 0, sum = 0; for(int i=1; i<=(n - l + 1 - d); i++){ while(p < i + l - 1){ p ++; if(p + d <= n) sum += (a[p] == a[p + d]); } ans[i][sum] ++; ans[i + d][sum] ++; if(i + d <= n) sum -= (a[i] == a[i + d]); } } for(int i=1; i<=n; i++){ for(int j=(n - 1); j>=0; j--){ ans[i][j] += ans[i][j + 1]; } } int q; cin >> q; while(q--){ int k; cin >> k; for(int i=1; i<=(n - l + 1); i++) cout << ans[i][l - k] << " "; cout << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...