Олимпиадный тренинг

Задача . 3. Радиоактивная цепочка


Задача

Темы:

Радиоактивная цепочка

Что моделирует программа

Рассматривается упрощённая модель цепочки превращений двух веществ. Часть вещества A за каждую минуту превращается в B, а часть B за ту же минуту распадается дальше.

Такие модели используются не только для радиоактивного распада, но и вообще для процессов, где количество объектов переходит из одного состояния в другое: химические реакции, популяционные модели, потоки между группами.

Математическая модель

Пусть An и Bn — количества веществ в начале n-й минуты.

За одну минуту из A распадается

dAn = ⌊An · P / 1000⌋,

а из B распадается

dBn = ⌊Bn · Q / 1000⌋.

После этого количества веществ становятся равными:

An+1 = An − dAn,

Bn+1 = Bn + dAn − dBn.

Обозначение. Символ ⌊x⌋ означает целую часть числа x, то есть округление вниз до ближайшего целого.

Обе величины dAn и dBn относятся к одному и тому же состоянию системы в начале минуты.

Что должна определить программа

Нужно выполнить N шагов модели и определить:

  • максимальное количество вещества B среди моментов времени от 0 до N включительно;
  • первый момент времени, когда достигается этот максимум;
  • количества A и B после N минут.

Входные данные

В одной строке вводятся пять целых чисел:

A B P Q N
  • A — начальное количество вещества A;
  • B — начальное количество вещества B;
  • P — доля вещества A, распадающаяся за минуту, в тысячных долях;
  • Q — доля вещества B, распадающаяся за минуту, в тысячных долях;
  • N — количество минут моделирования.

Выходные данные

Выведите четыре целых числа:

Tmax Bmax A B
  • Tmax — первый момент времени, когда количество B максимально;
  • Bmax — максимальное количество вещества B;
  • A — количество вещества A после N минут;
  • B — количество вещества B после N минут.

Примеры
№Входные данныеВыходные данные
1
1000 0 100 50 10
10 501 351 501
2
10000 500 80 120 20
9 3273 1891 2264
Статистика успешных решений по компиляторам
 Кол-во
Python19
Комментарий учителя