C# задача. В чем ошибка?

Билет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна. Формат ввода

Дано одно число n - количество поездок. Формат вывода

Выведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок. Пример 1

Ввод
1 Вывод

1 0 0

using System;

class MainClass 
{ // Metro
  
  public static void Main (string[] args) 
  {
    string s;

    s = Console.ReadLine(); // Возвращает переменную типа string

    int n = int.Parse(s);

    int sixty = n / 60;
    
    n = n - sixty*60;
    int ten = n / 10;
    n = n - 10*ten;

    Console.WriteLine(n.ToString() + " " + ten.ToString() + " " + sixty.ToString());


  }
}

В чем ошибка, подскажите, пожалуйста...


Ответы (1 шт):

Автор решения: Aziz Umarov

Вы не до конца поняли условие задачи.

Необходимо купить не менее n билетов за наименьшую сумму.

У вас варианты.

  1. Если n = 1..8 покупаем n*15
  2. Если n = 9..10 покупаем 10 за 125
  3. Если n = 11..18 покупаем 1*125 + (n-10)*15

....

  1. Если n = 31..34 покупаем 3*125 + (n-30)*15 тут максимум 375+60 = 435
  2. Если n = 35...60 покупаем 60 за 440

....

Думаю дальше нужно вычитать из произвольного n кратные и смотреть на результат

→ Ссылка