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.
莱夫科非常喜爱排列。长度为 n 的排列是指一个由互不相同的正整数构成的序列,且每个数都不超过 n。
我们用 gcd(a,b) 表示数 a 与 b 的最大公约数。莱夫科认为:在排列 p1,p2,…,pn 中,若元素 pi 满足 gcd(i,pi)>1,则称其为“好元素”。若一个排列中恰好有 k 个好元素,则莱夫科称该排列为“优美的”。不幸的是,他并不知道任何一个优美的排列。你的任务是帮助他找出至少一个这样的排列。
输入格式
The single line contains two integers n and k (1 ≤ n ≤ 105, 0 ≤ k ≤ n).
单行包含两个整数 n 和 k(1 ≤ n ≤ 105,0 ≤ 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(3, 3) = 3 > 1。元素 2 和 1 不是“好”的,因为 gcd(1, 2) = 1 且 gcd(4, 1) = 1。由于恰好有 2 个“好”元素,该排列是“优美的”。
第二个样例中不存在“优美”的排列。
输入解题思路,AI测评打分。不知道怎么写?