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