Ctrl K

Налог по полосам

Лёгкая
В одной стране действует прогрессивный налог. Шкала задана списком полос bands, где bands[i] = [upper, percent]: доход до отметки upper включительно (сверх предыдущей отметки) облагается ставкой percent процентов. Полосы идут по возрастанию upper. То есть первые bands[0][0] монет облагаются по ставке первой полосы, следующие bands[1][0] - bands[0][0] монет — по ставке второй, и так далее. Верните сумму налога с дохода income. Ответ принимается с точностью до 10⁻⁵.
Пример 1
bands=[[4, 10], [10, 30], [20, 50]], income=15 → 4.7

Первые 4 монеты облагаются по 10% (0.4), следующие 6 — по 30% (1.8), оставшиеся 5 — по 50% (2.5). Итого 4.7.

Пример 2
bands=[[2, 0], [6, 20]], income=3 → 0.2

Две монеты в первой полосе налогом не облагаются, одна монета во второй — 0.2.

Пример 3
bands=[[5, 40]], income=0 → 0.0
Ограничения
  • 1 ≤ len(bands) ≤ 100
  • 1 ≤ upper ≤ 1000
  • 0 ≤ percent ≤ 100
  • 0 ≤ income ≤ 1000
  • Значения upper строго возрастают
  • Последняя отметка upper не меньше income
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСколько горел свет ЛёгкаяПереложить в другой лоток ЛёгкаяЖурнал очков викторины ЛёгкаяЗеркало и негатив ЛёгкаяСтроки становятся столбцами Лёгкая
загружаем Python…
Вход
bands=[[4, 10], [10, 30], [20, 50]], income=15
Ожидается
4.7

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 111 тестов на сервере, включая скрытые.