Тишинуша Гамимеря (spamsink) wrote,
Тишинуша Гамимеря
spamsink

Не хочется изобретать велосипед

Есть программистская задачка, на которую я не знаю правильного ответа.

Дан массив чисел. Нужно наиболее эффективным образом найти в нем такой непрерывный подмассив, чтобы среднее значение элементов этого подмассива и среднее значение остальных элементов максимально различались.

Например, пусть дан массив [99, 99, 99, 0, 0, 0, 100, 0, 0, 0].

Если мы возьмем подмассив, состоящий только из элемента 100, то среднее остальных элементов будет 3*99/9 = 33, а разность средних - 100-33 = 67.
Если брать в качестве подмассива группу из трех нулей, то среднее остальных равно (3*99+100)/7 = 56.714..., что хуже.
Если мы возьмем подмассив, состоящий из трех элементов, равных 99, то его среднее будет 99, среднее остальных элементов - 100/7 = 14.285..., а разность - 99-14.285... = 84.714... (максимум).

Но при увеличении количества нулей результат меняется. Пусть массив таков:
[99, 99, 99, (триста нулей), 100, (триста нулей)].

Тогда если взять подмассив [99, 99, 99], получим разность средних 99-100/601 = 98.8..., а если взять подмассив [100], получим 100-3*99/603=99.5..., и в этом случае подмассив [100] оптимален.
Tags: puzzle
Subscribe

  • Готова ли математика к таким задачам?

    В качестве комментария к заголовку: по легенде, Пол Эрдёш (Erdős Pál) ответил отрицательно на этот вопрос, когда его спросили в отношении гипотезы…

  • Загадайте детям

    Какое минимальное количество точек нужно нанести на кубик, чтобы им можно было пользоваться как игральной костью (т.е. переводить наблюдённый…

  • Унарная система счисления

    Вот вы думаете, что в унарной (единичной) системе счисления можно только целые числа представлять, например, 2 - 11, 3 - 111, 5 - 11111, и т. п., и…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 33 comments

  • Готова ли математика к таким задачам?

    В качестве комментария к заголовку: по легенде, Пол Эрдёш (Erdős Pál) ответил отрицательно на этот вопрос, когда его спросили в отношении гипотезы…

  • Загадайте детям

    Какое минимальное количество точек нужно нанести на кубик, чтобы им можно было пользоваться как игральной костью (т.е. переводить наблюдённый…

  • Унарная система счисления

    Вот вы думаете, что в унарной (единичной) системе счисления можно только целые числа представлять, например, 2 - 11, 3 - 111, 5 - 11111, и т. п., и…