Pagini recente » Cod sursa (job #642925) | Cod sursa (job #2433708) | Cod sursa (job #2292566) | Cod sursa (job #1817826) | Cod sursa (job #1528733)
#include <fstream>
using namespace std;
ifstream cin("farfurii.in");
ofstream cout("farfurii.out");
const int LIM=100001;
int n, k, v[LIM], viz[LIM], urm=1;
void find_next(int &x, int cate)
{
while(cate)
{
x++;
if(!viz[x]) cate--;
}
}
int main()
{
cin>>n>>k;
for(int i=1; i<=n; ++i)
{
int perm=n-i;
perm=perm*(perm-1)/2;
if(k<=perm)
{
v[i]=urm, viz[urm]=1;
find_next(urm, 1);
}
else
{
int aux=urm;
find_next(aux, k-perm);
k=perm;
v[i]=aux, viz[aux]=1;
}
}
for(int i=1; i<=n; ++i)
cout<<v[i]<<' ';
return 0;
}