Pagini recente » Cod sursa (job #185127) | Cod sursa (job #573954) | Cod sursa (job #449055) | Cod sursa (job #2381701) | Cod sursa (job #799980)
Cod sursa(job #799980)
#include <cstdio>
using namespace std;
typedef long long int64;
const int N = 100005;
int n, last;
int64 inv, k;
int sol[N];
bool pus[N];
int main()
{
freopen ("farfurii.in", "r", stdin);
freopen ("farfurii.out", "w", stdout);
scanf("%d %lld", &n, &k);
for (int i = 1; i <= n; ++i) {
inv = 1LL * (n - i) * (n - i - 1) / 2LL;
if (inv < k) {
sol[i] = i + k - inv;
pus[i + k - inv] = true;
last = i;
break;
}
else {
sol[i] = i;
pus[i] = true;
}
last = i;
}
for (int i = n; i > 0; --i)
if (!pus[i])
sol[++last] = i;
for (int i = 1; i <= n; ++i)
printf("%d ", sol[i]);
}