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

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

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

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

요약
1부터 n까지의 수를 한 번씩 사용한 순열 중에서 가장 긴 단조 부분수열(증가 또는 감소)의 길이가 정확히 k인 순열을 만든다.
난이도

보통10점 중 6점

유형
그리디, 조합론, 구현
정답자
아직 제출이 없습니다

문제

Рассмотрим последовательность a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n. Его подпоследовательность a_i_1,a_i_2,…,a_i_ka\_{i\_1}, a\_{i\_2}, \ldots, a\_{i\_k}, где 1≤i_1<i_2<…<i_k≤n1 \le i\_1 < i\_2 < \ldots < i\_k \le n назвается монотонной, если либо a_i_1≤a_i_2≤…≤a_i_k,a\_{i\_1} \le a\_{i\_2} \le \ldots \le a\_{i\_k}, либо a_i_1≥a_i_2≥…≥a_i_k.a\_{i\_1} \ge a\_{i\_2} \ge \ldots \ge a\_{i\_k}.

Для заданных nn и kk, найдите последовательность, состоящую из чисел от 1 до nn таких, что каждое из чисел встречается в ней ровно один раз, а длина самой длинной монотонной подпоследовательности (возрастающей или убывающей) составляет ровно kk.

입력

Первая строка входных данных содержит целые числа nn и kk (1≤k≤n≤1061 \le k \le n \le 10^6), длина последовательности и требуемая длина самой длинной монотонной подпоследовательности.

출력

Если требуемой последовательности не существует, выведите −1-1 в первой и единственной строке.

Если требуемая последовательность существует, выведите ее в первой и единственной строке. Если подходящих последовательностей несколько, можно вывести любую из них.

예제3

  1. 예제 1

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

    입력
    5 1
    
    예상 출력
    -1
    
  3. 예제 3

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