아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Морти и подпоследовательности

시간 제한2초메모리 제한1024 MB

요약
각 k에 대해 남긴 원소들을 길이가 k 이상인 증가하는 연속 구간들로 나눌 수 있을 때 남길 수 있는 최대 원소 수를 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

Все знают, как Рик и Морти любят путешествовать и влезать в авантюры! И новое путешествие не исключение! Перед тем как отправиться, Рик попросил Морти помочь ему справиться с одной жизненно-важной задачей, без которой путешествию не состояться. Маленький Морти уже попытался справиться, но у него ничего не вышло, именно поэтому он решил обратиться за помощью к вам!

Задача, которую дал ему Рик звучит следующим образом: дан массив aa из nn целых положительных чисел. Для всех целых kk, для которых выполняется неравенство 1≤k≤n1 \leq k \leq n нужно определить, сколько какое максимальное число элементов можно оставить, убрав некоторые, так, чтобы оставшийся массив можно было разбить на подотрезки, каждый из которых --- возрастающая последовательность, длины не меньше kk.

Последовательность a_i_1,a_i_2,…,a_i_pa\_{i\_1}, a\_{i\_2}, \dots, a\_{i\_p} называется возрастающей подпоследовательностью в массиве aa, если a_i_1\textlessa_i_2\textless…\textlessa_i_pa\_{i\_1} \textless a\_{i\_2} \textless \dots \textless a\_{i\_p}.

Размер последовательности --- количество элементов, которые принадлежат последовательности.

입력

Первая строка входных данных содержит одно целое число nn (1≤n≤300)(1 \leq n \leq 300) отвечающее за длину массива. На второй строке содержится массив aa из nn целых чисел, 1≤a_i≤1091 \leq a\_i \leq 10^9.

출력

В единственной строке выведите nn чисел b_ib\_i --- максимальное число элементов, которые войдут в непересекающиеся возрастающие подотрезки размера не менее ii путем исключения некоторого (возможно нулевого) числа элементов из исходного массива.

힌트

Рассмотри третий пример. Для kk == 11, ответ равен 55, так как каждый элемент по отдельности является возрастающей последовательностью. Для kk == 22 максимальный ответ достигается путем избавления, например, от числа 4, разбивая оставшийся массив на два отрезка длины 2, которые являются возрастающими последовательностями. Для kk == 33 максимальный ответ можно достичь удалив элементы со значениями 4 и 3, в результате получив один отрезок, который является возрастающей последовательностью длины 3.

예제3

  1. 예제 1

    입력
    3
    1 2 3
    
    예상 출력
    3 3 3
    
  2. 예제 2

    입력
    2
    1 1
    
    예상 출력
    2 0
    
  3. 예제 3

    입력
    5
    1 4 3 2 9
    
    예상 출력
    5 4 3 0 0