1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
||||||||||||
1 | ||||||||||||
Оптимизация кода30.10.2015, 00:03. Показов 2600. Ответов 3
Метки нет (Все метки)
Задача G. Условие в .pdf файле. Если нужны тесты, напишите.
0
|
30.10.2015, 00:03 | |
Ответы с готовыми решениями:
3
Оптимизация кода Оптимизация кода Оптимизация кода Оптимизация кода простого калькулятора |
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
|
30.10.2015, 22:27 [ТС] | 2 |
Условие задачи G
Условие
Компания «Филипп индастриз» отправила на Марс новый робот-марсоход. Целью робота явля- ется исследование поверхности Марса. Для исследования Марса робот будет перемещаться по поверхности планеты на север и на юг вдоль прямой. Программа робота состоит из n команд, каждая из которых описывается целым числом ai Каждое число ai задаёт количество шагов, которое необходимо сделать роботу. Если ai > 0, то робот совершает |ai| шагов на север, если ai < 0, то |ai| шагов на юг. Робот исполняет команды последовательно, начиная с первой. Однако по пути на Марс робот подвергся космическому излучению и его программа могла повре- диться. Запустив процедуру тестирования памяти, ученые выяснили, что в программу было внесено от 0 до k ошибок следующего вида: число ai оказалось заменено на −ai. Тем не менее, приземлив- шись на Марс, робот выполнил свою, возможно поврежденную, программу. Теперь для организации спасения робота ученые хотят выяснить, насколько далеко от точки, в которой он начал выполнение программы, робот мог оказаться в результате. Помогите им это выяснить. Формат входных данных В первой строке входного файла находятся два числа n, k (1 ≤ k ≤ n ≤ 10^5) — количество чисел в программе робота и максимальное количество ошибок. Во второй строке входного файла находятся n чисел ai(−10^4≤ ai ≤ 10^4, ai != 0) — программа робота. Формат выходных данных В единственной строке выходного файла выведите максимальное расстояние в шагах, на которое мог удалиться робот, выполнив все команды и совершив не более k ошибок. Примеры input.txt 4 1 1 2 -1 -3 output.txt 5 input.txt 7 2 5 -3 7 9 -2 -8 -1 output.txt 29 Пояснение к примеру В первом примере робот мог, например, выполнить программу 1, 2, −1, 3 и в результате удалиться на 5 шагов на север.
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
30.10.2015, 23:19 | 3 | |||||
Сообщение было отмечено Cheshires как решение
Решение
Давайте разберем что считать:
1. Расстояние от точки старта это сумма всех шагов. 2. Влияние ошибок тем существенней чем они больше по модулю (наибольшее количество шагов) которые поменяют знак, так чтоб сдвинуть робота еще дальше от старта, чем он находился бы без ошибок. Т.е. если итог >0 (север) надо найти k наибольших шагов на юг (с минусом) и поменять им знак. 3. Таким образом программа сводится к определению знака суммы шагов без ошибок, выделении k наибольших шагов в противоположном направлении и добавлении их удвоенной суммы к результату(сумме без ошибок):
1
|
1 / 1 / 0
Регистрация: 20.10.2015
Сообщений: 28
|
|
08.11.2015, 00:59 [ТС] | 4 |
Ха! Очень красиво выходит. Спасибо большое!
0
|
08.11.2015, 00:59 | |
08.11.2015, 00:59 | |
Помогаю со студенческими работами здесь
4
Фрактальное Броуновское движения ( оптимизация кода) Отфильтровать из array только значения, входящие в одну из groups. Оптимизация кода Оптимизация кода Оптимизация кода Оптимизация кода Оптимизация кода Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |