Задача #257
Сортировка
(А. Игнатюк) В банковском отчёте представлена информация о клиентах, об их счетах и переводах другим клиентам. Информация об изначальном счёте каждого клиента встречается единожды. Известно, что все переводы выполнялись последовательно. В результате различных денежных трансакций счета клиентов изменились по сравнению с их изначальным положением на определенное количество процентов.
Перевод осуществляется по следующей системе: клиент переводит r% от текущей суммы другим r клиентам (их количество может быть различно: 0 < r < 6.) ровно r% от текущей суммы, имеющейся на счету, положение которой меняется с каждым последующим переводом.
Необходимо найти сначала ID клиента, конечный счёт которого в процентном соотношении сильнее всех упал, а затем ID клиента, конечный счёт которого в процентном соотношении сильнее всех возрос (в сравнении с их изначальными счетами).
Входные и выходные данные.
На вход подаётся файл, в котором в первой строке записано число N - количество клиентов, информация о которых записана в отчёте. Затем три столбца, в каждом из которых по N строк. В первом столбце находятся уникальные ID каждого клиента, во втором - количество денег на их счетах, а в третьем - ID клиентов, которым были последовательно сделаны переводы (между собой они разделены знаком ";").
Пример входных данных.
3
1 5000 2;3
2 2000 3
3 3000 1
Для данного примера счёт первого клиента изменялся так: 5000 - 2% от 5000 при переводе клиенту №2 = 4900, затем 4900 - 2% от 4900 при переводе клиенту №3 = 4802, после 4802 + 1% от счёта клиента №3 = 4833. Счёт второго клиента изменился в плюс на 2% от 5000 при переводе от клиента №1 = 2100, а после уменьшился на 1% при переводе клиенту №3 = 2079. А счёт третьего клиента сначала пополнился при переводе от первого на 2% от 4900 = 3098, после пополнился при переводе от второго клиента на 1% от 2100 = 3119, а затем уменьшился на 1% при переводе клиенту №1 = 3087. По итогу счёт первого клиента был = 5000, а стал = 4833; второго: 2000 -> 2079; третьего: 3000 -> 3087. В процентном соотношении сильнее всех упал счёт клиента №1, а сильнее всех поднялся счёт клиента №2. Ответ: 1 2.
Примечание: все вычисления были округлены вниз до целых значений для данного примера.
Запишите в ответе два числа: ID клиентов, чьи счета уменьшились и увеличились больше всех в процентном соотношении с изначальным их положением.