本题最重要的点在于
因为了n>=1的缘故,所以第一个数必然是互质的,则k=0和k>n的情况必然不存在
此时考虑n为奇数时,则1的位置可置1,2,3互换4,5互换直至k == 0为止
偶数时从1开始互换即可
代码如下

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int a[N];
int main(){
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++) a[i] = i;
    if(k == 0 || k > n) puts("-1");
    else{
        if(k&1){
            k--;
            for(int i=2;k!=0;i+=2){
                swap(a[i],a[i+1]);
                k-=2;
            }
        }
        else{
            for(int i=1;k!=0;i+=2){
                swap(a[i],a[i+1]);
                k-=2;
            }
        }
        for(int i=1;i<=n;i++){
            i!=1?printf(" %d",a[i]):printf("%d",a[i]);
        }
    }
    return 0;
}