Pagini recente » Cod sursa (job #401553) | Cod sursa (job #1475515) | Cod sursa (job #433391) | Cod sursa (job #74107) | Cod sursa (job #2554621)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long n, k;
long long genNrNeeded() {
long long st = 0, dr = k;
while (st < dr) {
long long mij = (st + dr) / 2;
if (k < mij * (mij + 1) / 2)
dr = mij;
else
st = mij + 1;
}
return st - 1;
}
int main() {
fin >> n >> k;
long long c = genNrNeeded();
for (int i = 1; i < n - c - 1; i++)
fout << i << ' ';
long long diff = k - c * (c + 1) / 2;
if (k != n * (n - 1) / 2)
fout << n - c - 1 + diff << ' ';
for (int i = n; i >= n - c + diff; i--)
fout << i << ' ';
for (int i = n - c + diff - 2; i >= n - c - 1; i--)
fout << i << ' ';
return 0;
}