Присоединиться

11 класс·высокий уровень

Частиц, скорость которых измерена, может быть очень много, но не может

Условие

На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы — это целое число (положительное, отрицательное или 0). Частиц, скорость которых измерена, может быть очень много, но не может быть меньше трёх. Скорости всех частиц различны. При обработке результатов в каждой серии эксперимента отбирается основное множество скоростей. Это такое непустое множество скоростей частиц (в него могут войти как скорость одной частицы, так и скорости всех частиц серии), для которого произведение скоростей является максимальным среди всех возможных множеств. При нахождении произведения знак числа учитывается. Если есть несколько таких множеств, то основным считается то, которое содержит наибольшее количество элементов. Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать результаты эксперимента, находя основное множество. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество частиц N. В каждой из последующих N строк записано одно целое число, по абсолютной величине не превышающее 10⁹. Пример входных данных: 5 123 2 -1000 0 10 Программа должна вывести в порядке возрастания номера частиц, скорости которых принадлежат основному множеству данной серии. Нумерация частиц ведётся с единицы.Пример выходных данных для приведённого выше примера входных данных: 1 2 5 Критерии оценивания выполнения задания | Баллы | Программа верно работает для любых входных данных произвольного размера и находит ответ, не сохраняя входные данные в массиве, размер которого растёт с ростом числа частиц. Программа просматривает входные данные один раз. определяя номер 0, количество отрицательных значений и минимальное по модулю отрицательное число. Затем распечатываются все номера частиц, кроме частицы с нулевым значением, а в случае, когда отрицательных значений нечётное число, и кроме номера частицы с минимальным по модулю отрицательным значением. Допускается наличие в тексте программы до трёх синтаксических ошибок: пропущен или неверно указан знак пунктуации, неверно написано или пропущено зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных (если одна и та же ошибка встречается несколько раз, то это считается за одну ошибку). | 4 | Программа работает верно, но входные данные запоминаются в массиве или другой структуре данных (например, контейнер priority queue, vector, set или шар в С++), размер которого соответствует числу N. Этот массив, или массив отобранных номеров, возможно, потом сортируется). При этом общая сложность алгоритма не превышает CN2, где С - константа, не зависящая от N. Допускается наличие до пяти синтаксических ошибок, описанных выше. Кроме того, допускается наличие одной содержательной ошибки, например ошибки из следующего списка:1) ошибка при вводе данных (при условии, что в целом ввод организован правильно);2) программа неправильно работает при больших значениях введенных чисел (наступает переполнение);3) допущена ошибка в реализации алгоритма сортировки;4) используется "<" вместо "<-". '-AND" вместо "OR" и т п. | 3 | Не выполнены условия, позволяющие поставить 3 или 4 балла. Программа работает в целом верно, эффективно или нет. Например, программа использует алгоритм перебора всех возможных подмножеств и сравнивает произведения значений элементов подмножеств. Допускается до семи синтаксических ошибок и не более двух содержательных ошибок (см. примеры в критериях на 3 балла). | 2 | Не выполнены условия, позволяющие поставить 2, 3 или 4 балла. При этом выполнено одно из двух условий.1. Из описания алгоритма и общей структуры программы видно, что экзаменуемый в целом правильно представляет путь решения задачи.2. Программа правильно работает в одном из важных частных случаев.Допускается любое количество синтаксических ошибок. | 1 | Не выполнены условия, позволяющие поставить 1. 2. 3 или 4 балла. | 0 | Максимальный балл | 4 |

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. Основное множество состоит из всех значений скоростей, кроме

Осталось ещё 4 шага

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Программирование»

Частиц, скорость которых измерена, может быть очень много, но не может — решение с объяснением | Lom Ai