#include #include using namespace std; using namespace atcoder; #define int long long signed main(){ int N,M; cin >> N >> M; vector A(N); for(int i=0;i> A[i]; } if(M==0){ for(int k=1;k<=N;k++){ cout << N-k+1 << endl; } return 0; } //k>=Mが必要. //長さkの連続部分列であって,0,1,2,...,M-1がすべて含まれる に言い換えられる //lを移動 -> rの最小値が求まれば良い //尺取りのノリ map data; int r=-1; for(int R=0;R ans(N+1); ans[r-1]++; ans[N]--; for(int l=1;l sum(N+1); sum[0]=0; for(int i=1;i<=N;i++){ sum[i]=sum[i-1]+ans[i-1]; } for(int i=1;i<=N;i++){ cout << sum[i] << endl; } cout << endl; }