Если все препараты стоят одинаково, то именно так. Почему Вы считаете, что решение заведомо неправильное? Давайте смотреть иначе:
Пусть есть 100 договоров и, грубо говоря, мы за каждый оплачиваем по 10 000. Считаем, сколько там каких лекарств. Там 10 штук А, 85 штук Б, и т.д.
Всего в 100 договорах лекарств 10+85+... = 385 единиц, по цене 10 000 * 100. На одно (любое) лекарство приходится 10 000 * 100 / 385 рублей = 2597,403.. Лекарств А там 10 штук, на них затрачено 10*2597,40 = 25974,03 руб. Это мы 100 договоров оплатили, а на один договор на оплату лекарства А приходится сотая часть этой суммы, т.е. примерно 260 руб, что Вы и насчитали.
Если же стоимость у препаратов разная и неизвестна, ниоткуда из приведённых данных эту стоимость найти нельзя. Пусть снова есть 100 договоров и, грубо говоря, мы за каждый оплачиваем по 10 000. Считаем, сколько там каких лекарств. Там 10 штук А, по цене 10*ценаА, 85 штук Б по цене 85*ценаБ и т.д.
Всего в 100 договорах лекарств 10+85+... = 385 единиц (цена у единицы разная, поэтому это число нам не нужно), по цене
10*ценаА+85*ценаБ+100*ценаВ+95*ценаГ+95*ценаГ = общая цена лекарств = 10 000*100 = 1 000 000.
Из них на препарат А приходится 10*цена А, на один договор в среднем 10*ценаА/100 = 0,1*ценаА. Вот такая часть от 10 000 тратится на А. На Б тратится 85*ценаБ, на один договор 0,85*ценаБ. И так далее. Однако уравнение выше (или, если преобразовать)
0,1*ценаА+0,85*ценаБ+1*ценаВ+0,95*ценаГ+0,95*ценаГ = 10 000.
- это одно уравнение, содержащее 5 неизвестных(?) цен. Именно оно определяет, какая доля общей стоимости заказа идёт на оплату лекарства А, Б, В и т.д.