Pagini recente » Cod sursa (job #1590206) | Cod sursa (job #2116111) | Cod sursa (job #2377349) | Cod sursa (job #2344567) | Cod sursa (job #2902081)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin ("farfurii.in");
ofstream fout ("farfurii.out");
int n,k;
fin>>n>>k;
int i = 0;
while(k > i*(i+1)/2)
{
i++; //lungime subsir descrescator + 1
}
for(int j = 1; j < n-i; j++)
{
fout<<j<<" "; //numerele de la inceput raman la fel, pt aranjarea lexicografica
}
i--; //lungimea reala a sirului descrescator
int nr_inv = i*(i+1)/2;
int nr_completare_inv = n - i + k - nr_inv - 1;// nr pus in fata subsirului desc pt inversiuni extra
fout<< nr_completare_inv <<" ";
for(int j = 0; j < i+2 ; j++)
{
if(n - j != nr_completare_inv)
{
fout<<n-j<<" ";
}
}
return 0;
}