Pagini recente » Cod sursa (job #685576) | Cod sursa (job #598930) | Cod sursa (job #1188341) | Cod sursa (job #1722743) | Cod sursa (job #3132414)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
class FarfuriiSolver {
private:
int n, k, x;
vector<int> numbers;
void calculateX() {
x = sqrt(2 * k) + 1;
while (x * (x - 1) / 2 < k)
x++;
}
void generateNumbers() {
for (int i = 1; i <= n; i++) {
if (i <= n - x)
numbers.push_back(i);
else if (i != n - (x * (x - 1) / 2 - k))
numbers.push_back(i);
}
}
void writeNumbersToFile() {
ofstream fout("farfurii.out");
for (int i: numbers)
fout << i << " ";
fout.close();
}
public:
void solveProblem() {
ifstream fin("farfurii.in");
fin >> n >> k;
calculateX();
generateNumbers();
writeNumbersToFile();
fin.close();
}
};
int main() {
FarfuriiSolver solver;
solver.solveProblem();
return 0;
}