#include #include #include #include using Int = long long; int main() { int N, M; std::cin >> N >> M; int A[N]; for (int i = 0; i < N; ++i) std::cin >> A[i]; std::map mp; std::set st; int ans[N + 1]{}; for (int i = 0; i < N; ++i) { if (A[i] < M) { if (mp.count(A[i])) st.erase(mp[A[i]]); mp[A[i]] = i; st.insert(i); } if (int(st.size()) == M) { if (M == 0) { ++ans[0]; --ans[i + 1]; } else { ++ans[i - *st.begin()]; --ans[i + 1]; } } } for (int i = 1; i < N; ++i) ans[i] += ans[i - 1]; for (int i = 0; i < N; ++i) std::cout << ans[i] << std::endl; }