Pagini recente » Cod sursa (job #2277943) | Istoria paginii runda/bairam_aladin | Profil Emiliannec | Cod sursa (job #202166) | Cod sursa (job #1747445)
#include <iostream>
#include <cstdio>
#define MAXN 100050
using namespace std;
int n, k;
int sol[MAXN];
void solve()
{
for (int i = 1; i <= n; i++)
sol[i] = i;
for (int i = 1; i < n; i++) {
if ((n-i)*(n-i-1)/2 >= k)
continue;
for (int j = i+1; j <= (n+i)/2; j++)
swap(sol[j], sol[n-(j-(i+1))]);
int step = k - (n-i)*(n-i-1)/2;
for (int j = n; j > n-step; j--)
swap(sol[i], sol[j]);
break;
}
for (int i = 1; i <= n; i++)
printf("%d ", sol[i]);
}
int main()
{
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
scanf("%d %d", &n, &k);
solve();
return 0;
}