Permutation p is an ordered set of integers p1, p2, ..., pn, consisting of n distinct positive integers, each of them doesn't exceed n. We'll denote the i-th element of permutation p as pi. We'll call number n the size or the length of permutation p1, p2, ..., pn.
The decreasing coefficient of permutation p1, p2, ..., pn is the number of such i (1 ≤ i < n), that pi > pi + 1.
You have numbers n and k. Your task is to print the permutation of length n with decreasing coefficient k.
The single line contains two space-separated integers: n, k (1 ≤ n ≤ 105, 0 ≤ k < n) — the permutation length and the decreasing coefficient.
In a single line print n space-separated integers: p1, p2, ..., pn — the permutation of length n with decreasing coefficient k.
If there are several permutations that meet this condition, print any of them. It is guaranteed that the permutation with the sought parameters exists.
5 2
1 5 2 4 3
3 0
1 2 3
3 2
3 2 1
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int i,j,k;
int n,m;
int num[100010];
int na[100010];
scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
{
num[i]=i+1;
}
sort(num,num+n);
/*
for(i=0;i<n;i++)
{
printf("%d\n",num[i]);
}
*/
j=0;
for(i=n-1;i>=n-k;i--)
{
na[j]=num[i];
//printf("%d %d\n",na[j],j);
j++;
}
//printf("nn %d \n",n-k);
for(i=0;i<n-k;i++)
{
na[j]=num[i];
//printf("%d hh %d \n",i,n-k);
//printf("%d g %d\n",na[j],j);
j++;
}
for(i=0;i<n;i++)
{
if(i!=n-1)
{
printf("%d ",na[i]);
}
else
printf("%d\n",na[i]);
}
//printf("%d",&na[0]);
/*for(i=1;i<n;i++)
{
printf(" %d",na[i]);
}*/
printf("\n");
return 0;
}