Pagini recente » Cod sursa (job #1956471) | Cod sursa (job #396053) | Cod sursa (job #654054) | Cod sursa (job #1566612) | Cod sursa (job #1618796)
#include <fstream>
using namespace std;
ifstream fin ("farfurii.in");
ofstream fout ("farfurii.out");
long long k;
int n, sol1, sol2, sol3, V[100010], Sol[100010];
int main()
{
fin >> n >> k;
for (long long i = 1; i <= n; i ++)
{
if (i * (i - 1) / 2 > k)
{
sol1 = i - 1;
break;
}
}
Sol[sol1] = n;
sol2 = (k - (sol1 * (sol1 - 1)) / 2) + (sol1 - 1);
Sol[sol1 - 1] = sol2;
for (int i = 1; i <= sol1 - 2; i ++) Sol[i] = i;
int sol3 = n - 1;
for (int i = sol1 + 1; i <= n; i ++)
{
if (sol3 == sol2) sol3 --;
Sol[i] = sol3;
sol3 --;
}
for (int i = 1; i <= n; i ++) fout << Sol[i] << ' ';
fout << '\n';
fout.close();
return 0;
}