У Даши есть n ювелирных украшений. Каждое украшение имеет стоимость wi и значимость для Даши vi. Из-за финансового
У Даши есть 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 украшений и выбирает комбинацию с максимальным параметром важности. Таким образом, Даша сможет правильно выбрать украшения, которые она должна сохранить.