Билет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.
Дано одно число n - количество поездок. Выведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок.
НО! Загвоздка в том, что код должен подходить под любые числа, например: есть 100 поездок, на 1 поездку цена в 10, на 10 цена 80, на 60 цена 500. Ответ на эти данные: 0 10 0. На скрине код, но он считает неправильно

Вот вам на все случаи жизни!
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
struct Tariff {
unsigned quantity;
double cost;
unsigned tickets;
Tariff(unsigned quantity, double cost)
: quantity(quantity), cost(cost), tickets(0) {}
double single()const {
return cost / quantity;
}
friend bool operator<(const Tariff& a, const Tariff& b) {
return a.single() < b.single();
}
};
class Plan {
public:
Plan(unsigned trip) : trip(trip) {}
void add(const Tariff& tariff) {
tariffs.push_back(tariff);
}
void add(Tariff&& tariff) {
tariffs.emplace_back(tariff);
}
void optimally() {
sort(tariffs.begin(), tariffs.end());
auto tmp = trip;
for (auto& tariff : tariffs) {
while (tmp >= tariff.quantity) {
tmp -= tariff.quantity;
++tariff.tickets;
}
}
auto comp = [](const Tariff& a, const Tariff& b) {
return a.quantity < b.quantity;
};
sort(tariffs.begin(), tariffs.end(), comp);
cout << "Оптимальный план: ";
for (const auto& tariff : tariffs) cout << tariff.tickets << ' ';
puts("");
}
private:
unsigned trip;
vector<Tariff> tariffs;
};
Tariff create(const char* msg, unsigned quantity) {
cout << msg;
double cost;
cin >> cost;
Tariff tariff(quantity, cost);
return tariff;
}
int main() {
system("chcp 1251 > nul");
cout << "Введите количество поездок: ";
unsigned trip;
cin >> trip;
Plan plan(trip);
plan.add(create("Цена одной поездки: ", 1));
plan.add(create("Цена десяти поездок: ", 10));
plan.add(create("Цена шестидесяти поездок: ", 60));
plan.optimally();
system("pause > nul");
}
Что за бред написан? Первый if . Если стоимость билета на одну поездку *6 меньше количество билетов на 60 поездок ???Что? Сравниваете стоимость и количество .