CF361B.Levko and Permutation

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Levko loves permutations very much. A permutation of length n is a sequence of distinct positive integers, each is at most n.

Let’s assume that value gcd(a, b) shows the greatest common divisor of numbers a and b. Levko assumes that element p__i of permutation _p_1, _p_2, ... , p__n is good if gcd(i, p__i) > 1. Levko considers a permutation beautiful, if it has exactly k good elements. Unfortunately, he doesn’t know any beautiful permutation. Your task is to help him to find at least one of them.

莱夫科非常喜爱排列。长度为 nn 的排列是指一个由互不相同的正整数构成的序列,且每个数都不超过 nn。

我们用 gcd⁡(a, b)\gcd(a,\,b) 表示数 aa 与 bb 的最大公约数。莱夫科认为:在排列 p1, p2, …, pnp_1,\,p_2,\,\dots,\,p_n 中,若元素 pip_i 满足 gcd⁡(i, pi)>1\gcd(i,\,p_i) > 1,则称其为“好元素”。若一个排列中恰好有 kk 个好元素,则莱夫科称该排列为“优美的”。不幸的是,他并不知道任何一个优美的排列。你的任务是帮助他找出至少一个这样的排列。

输入格式

The single line contains two integers n and k (1 ≤ n ≤ 105, 0 ≤ k ≤ n).

单行包含两个整数 nn 和 kk(1 ≤ n ≤ 1051 ≤ n ≤ 10^5,0 ≤ k ≤ n0 ≤ k ≤ n)。

输出格式

In a single line print either any beautiful permutation or -1, if such permutation doesn’t exist.

If there are multiple suitable permutations, you are allowed to print any of them.

在一行中输出任意一个优美的排列,如果不存在这样的排列,则输出 -1。

如果存在多个符合条件的排列,你可以输出其中任意一个。

输入输出样例

  • 输入#1

    4 2

    输出#1

    2 4 3 1
  • 输入#2

    1 1

    输出#2

    -1

说明/提示

In the first sample elements 4 and 3 are good because gcd(2, 4) = 2 > 1 and gcd(3, 3) = 3 > 1. Elements 2 and 1 are not good because gcd(1, 2) = 1 and gcd(4, 1) = 1. As there are exactly 2 good elements, the permutation is beautiful.

The second sample has no beautiful permutations.

在第一个样例中,元素 4 和 3 是“好”的,因为 gcd⁡(2, 4) = 2 > 1\gcd(2, 4) = 2 > 1 且 gcd⁡(3, 3) = 3 > 1\gcd(3, 3) = 3 > 1。元素 2 和 1 不是“好”的,因为 gcd⁡(1, 2) = 1\gcd(1, 2) = 1 且 gcd⁡(4, 1) = 1\gcd(4, 1) = 1。由于恰好有 2 个“好”元素,该排列是“优美的”。

第二个样例中不存在“优美”的排列。

输入解题思路,AI测评打分。不知道怎么写?

首页