Pagini recente » Cod sursa (job #376780) | Cod sursa (job #1874193) | Cod sursa (job #479862) | Cod sursa (job #45698) | Cod sursa (job #1598196)
#include <fstream>
#include <queue>
#define NMAX 100005
using namespace std;
unsigned long long sol[NMAX];
int main()
{
unsigned long long N, K, V[NMAX], i, sum, max, pIndex, element;
ifstream f("farfurii.in");
f >> N >> K;
f.close();
i = 1;
sum = 0;
V[N] = 0;
while (sum + i <= K)
{
sum += V[N - i] = i;
i++;
}
max = i;
pIndex = N-i;
element = N;
for (i = pIndex + 1; i <= N ; i++)
{
if (V[i - 1] == K - sum)
{
sol[i] = element - 1;
sol[pIndex] = element;
element -= 2;
}
else
{
sol[i] = element--;
}
}
element = 1;
ofstream g("farfurii.out");
for (i = 1; i <= N; i++)
{
if (sol[i] == 0)
{
g << element++ <<" ";
}
else
{
g << sol[i]<< " ";
}
}
g.close();
return 0;
}