Pagini recente » Cod sursa (job #3256372) | Cod sursa (job #723648) | Cod sursa (job #2562751) | Cod sursa (job #267965) | Cod sursa (job #516546)
Cod sursa(job #516546)
#include <iostream>
#include <fstream>
using namespace std;
const char iname[] = "farfurii.in";
const char oname[] = "farfurii.out";
using namespace std;
ifstream fin(iname);
ofstream fout(oname);
long long ap[200005], n, k, i;
int main()
{
fin >> n >> k;
for(i = 1; i <= n; i ++)
{
if((n - i) * (n - i - 1) / 2 >= k && (n - i + 1) * (n - i) / 2 >= k)
{
fout << i << " ";
ap[i] = 1;
}
else
{
if(k < (n - i) * (n - i + 1) / 2)
{
fout << n - ((n - i) * (n - i + 1) / 2 - k) << " ";
ap[n - ((n - i) * (n - i + 1) / 2 - k)] = 1;
break;
}
else
if(k > (n - i) * (n - i + 1) / 2)
{
fout << i + k - (n - i) * (n - i + 1) / 2 << " ";
ap[i + k - (n - i) * (n - i + 1) / 2] = 1;
break;
}
else
{
fout << n << " ";
ap[n] = 1;
break;
}
}
}
for(i = n; i >= 1; i --)
if(ap[i] == 0)
fout << i << " ";
return 0;
}