Pagini recente » Cod sursa (job #3191422) | Cod sursa (job #3122104) | Cod sursa (job #2117389) | Cod sursa (job #2860516) | Cod sursa (job #2754191)
#include <iostream>
#include <fstream>
#define N 100001
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int v[N];
int n, k;
int f[N];
int main()
{
int i, j, p;
int t;
fin >> n >> k;
t = 0;
while (t * (t - 1) / 2 <= k)
t++;
for (i = 1; i <= n - t; i++)
{
v[i] = i;
f[i] = 1;
}
if (t * (t - 1) / 2 > k)
{
v[n - t + 1] = v[n - t] + (t * (t - 1) / 2) - k + 1;
f[v[n - t] + (t * (t - 1) / 2) - k + 1] = 1;
p = n - t + 2;
}
else p = n - t + 1;
j = n;
for (i = p; i <= n; i++)
{
while (f[j])
j--;
v[i] = j;
j--;
}
for (i = 1; i <= n; i++)
fout << v[i] << " ";
return 0;
}