Pagini recente » Cod sursa (job #1248748) | Cod sursa (job #2728864) | Cod sursa (job #841285) | Cod sursa (job #1352525) | Cod sursa (job #2505756)
#include <bits/stdc++.h>
#define DimMax 100005
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int n, k;
int v[DimMax];
int numarinv;
bool descr(int a, int b)
{
return a > b;
}
int main()
{
fin>>n>>k;
for(int i = 1;i <= n;i++) v[i] = i;
int j = n;
while(j >= 1)
{
swap(v[j], v[j - 1]);
j--;
sort(v + j + 1, v + n + 1, descr);
numarinv = (n - j) * (n - j + 1) / 2;
if(numarinv == k)
{
for(int i = 1;i <= n;i++)
fout<<v[i]<<" ";
return 0;
}
else if(numarinv + ((n - (j + 1) + 1) * (n - (j + 1) + 2) / 2) > k)
{
int a = n - (k - numarinv) + 1;
swap(v[a], v[j - 1]);
sort(v + j + 1, v + n + 1, descr);
for(int i = 1;i <= n;i++)
fout<<v[i]<<" ";
return 0;
}
}
return 0;
}