У Даши есть n ювелирных украшений. Каждое украшение имеет стоимость wi и значимость для Даши vi. Из-за финансового

  • 34
У Даши есть n ювелирных украшений. Каждое украшение имеет стоимость wi и значимость для Даши vi. Из-за финансового кризиса Даша решила продать некоторые украшения и оставить только k из них. Для определения, какие украшения сохранить, Даша использует параметр важности для выбранных k украшений, который рассчитывается по формуле: ki=1vjki=1wj. Важно для Даши правильно выбрать украшения. Входные данные: первая строка содержит числа n - количество ювелирных изделий у Даши и k - количество.
Японец
22
украшений, которые она хочет сохранить (1 ≤ k ≤ n ≤ 100). Вторая строка содержит n целых чисел wi - стоимость каждого украшения (1 ≤ wi ≤ 1000). Третья строка содержит n целых чисел vi - значимость каждого украшения (1 ≤ vi ≤ 1000).

Для решения данной задачи, мы можем использовать жадный алгоритм. Жадный алгоритм основан на стратегии выбора локально оптимального решения, надеясь, что в итоге это решение окажется глобально оптимальным.

Давайте представим, что имеется два массива: один для стоимостей украшений (w) и один для их значимости (v). Мы можем создать еще один массив (k_value), где будем хранить значения параметра важности для выбранных k украшений.

Шаги решения задачи:
1. Создайте массив, чтобы сохранить стоимости всех украшений, и заполните его значениями из строки wi.

\[ w = [w_1, w_2, ..., w_n] \]

2. Создайте массив, чтобы сохранить значимость каждого украшения, и заполните его значениями из строки vi.

\[ v = [v_1, v_2, ..., v_n] \]

3. Создайте массив k_value, чтобы сохранить значения параметра важности для выбранных k украшений.

\[ k\_value = [] \]

4. Рассчитайте параметр важности для всех возможных комбинаций k украшений.

\[
\text{Для } i \text{ от } 1 \text{ до } n-k+1:
\]
\[
\text{-- Выберите } k \text{ украшений, начиная с } i\text{-го украшения}
\]
\[
\text{-- Рассчитайте параметр важности для выбранных украшений, используя формулу } ki = \frac{1}{vj} \sum_{j=i}^{i+k-1} wj
\]
\[
\text{-- Добавьте значения параметра важности в массив } k_value
\]

5. Найдите максимальное значение параметра важности в массиве k_value и запомните его.

\[
max\_k\_value = \max(k\_value)
\]

6. Найдите индекс первого элемента в массиве k_value, равного max_k_value.

\[
best\_index = k\_value.index(max\_k\_value)
\]

7. Выведите элементы массива w, начиная с индекса best_index и до best_index + k.

\[
\text{Ответ: } w_{\text{best\_index}}, w_{\text{best\_index}+1}, ..., w_{\text{best\_index}+k-1}
\]

8. Для ясности ответа, можно также вывести значения параметра важности:

\[
\text{Ответ: } k_{\text{best\_index}}, k_{\text{best\_index}+1}, ..., k_{\text{best\_index}+k-1}
\]

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