Cod sursa(job #68295)
#include <cstdio>
#define FIN "farfurii.in"
#define FOUT "farfurii.out"
int N, K;
void read ()
{
scanf ("%d %d\n", &N, &K);
}
void solve ()
{
int i, verif = 0, val;
for (i = 1; i * (i - 1) / 2 < K; ++ i);
val = N - (i * (i - 1) / 2 - K);
if (i * (i - 1) / 2 == K)
verif = 1;
for (int j = 1; j <= N - i; ++ j)
if (!verif || j != val)
printf ("%d ", j);
if (verif)
{
for (int j = N; j >= N - i + 1; -- j)
printf ("%d ", j);
}
else
{
printf ("%d ", val);
for (int j = N; j > N - i; -- j)
if (j != val)
printf ("%d ", j);
}
printf ("\n");
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
read ();
solve ();
return 0;
}