Pagini recente » Monitorul de evaluare | Istoria paginii runda/untitled1 | Monitorul de evaluare | Cod sursa (job #497464) | Cod sursa (job #2751940)
#include <iostream>
#include <fstream>
#include <cmath>
std::ifstream f("farfurii.in");
std::ofstream g("farfurii.out");
int main()
{
int n, k;
f >> n >> k;
int descrescatoare = (1 + sqrt(1 + 8 * k))/2 + 1;
int inversiuni_aferente = descrescatoare * (descrescatoare - 1) / 2;
int inversiuni_extra =inversiuni_aferente - k;
int crescatoare = n - descrescatoare;
int salvatul = n - inversiuni_extra;
int i;
for (i = 1; i <= crescatoare; i++)
g << i << " ";
g << salvatul << " ";
for (n = n; n > salvatul; n--)
g << n << " ";
n--;
for (n = n; n >= i; n--)
g << n << " ";
return 0;
}