#include using namespace std; int main(){ int N, M; cin >> N >> M; vector A(N); for (int i = 0; i < N; i++){ cin >> A[i]; } vector ans(N + 2); int cnt = M; map mp; int r = 0; for (int l = 0; l < N; l++){ while (r < N){ if (cnt == 0){ break; } if (A[r] < M){ if (mp[A[r]] == 0){ cnt--; } mp[A[r]]++; } r++; } if (cnt == 0){ ans[r - l]++; ans[N - l + 1]--; } if (A[l] < M){ if (mp[A[l]] == 1){ cnt++; } mp[A[l]]--; } if (l == r){ r++; } } for (int i = 0; i < N; i++){ ans[i + 1] += ans[i]; } for (int i = 1; i <= N; i++){ cout << ans[i] << endl; } }