제출 #1142296

#제출 시각아이디문제언어결과실행 시간메모리
114229612345678Lottery (CEOI18_lot)C++17
100 / 100
220 ms8396 KiB
#include <bits/stdc++.h> using namespace std; const int nx=1e4+5, kx=105; int n, l, a[nx], qs[nx][kx], res[nx], q, t[nx], cmp[nx]; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>l; for (int i=1; i<=n; i++) cin>>a[i]; cin>>q; for (int i=1; i<=q; i++) cin>>t[i], cmp[t[i]+1]++; for (int i=1; i<=l; i++) cmp[i]+=cmp[i-1]; for (int j=2; j+l-1<=n; j++) { int cur=0, sti=2, stj=j+1; for (int i=0; i<l; i++) cur+=(a[i+1]!=a[j+i]); qs[1][cmp[cur]]++, qs[j][cmp[cur]]++; while (stj+l-1<=n) { cur-=(a[sti-1]!=a[stj-1]); cur+=(a[sti+l-1]!=a[stj+l-1]); qs[sti][cmp[cur]]++, qs[stj][cmp[cur]]++; sti++, stj++; } } for (int i=1; i<=n; i++) for (int j=1; j<=q; j++) qs[i][j]+=qs[i][j-1]; for (int i=1; i<=q; i++) { for (int j=1; j+l-1<=n; j++) cout<<qs[j][cmp[t[i]]]<<' '; cout<<'\n'; } }
#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...