Найти произведение двух наибольших скоростей

1,00
р.
Я писал ЕГЭ по информатике, сегодня стали известны результаты. Почему-то в C4 мне поставили всего лишь 1 балл из 4, хотя задача наипростейшая. К сожалению, у меня нет точной формулировки задания, поэтому напишу по памяти. Вводится сначала число N (количество частиц), потом N скоростей частиц (по условию от -10000 до 10000). Нужно вывести произведение двух наибольших из скоростей. Причём это нужно сделать эффективно по памяти и вычислениям. Вот мой код (точь-в-точь из моей работы):
#include using namespace std
int main() { int N cin >> N int m[2]={-10000, -10000} for(int i=0 i> v m[mi]=(m[mi]Проверил на компьютере у себя, всё нормально работает. Программа эффективна, потому что не заносит все числа в массив, а считает всё по мере ввода чисел. Если не найдёте ошибку в алгоритме, пойду на апелляцию. То ли я неправильно понял условие задачи (тут вы мне конечно не поможете), то ли проверяющим не понравился смайлик (m[1]Обновление
У меня тут другие подозрения появились. Возможно, что мой код вообще не проверяли, потому что организаторша в ППЭ неправильно номер дополнительного бланка написала и жирно исправила цифру 7 на 3. Возможно, что компьютер принял эту цифру за 8 и из-за этого проверили только часть задания на первом бланке, где написан алгоритм программы на русском языке. Это подтверждается тем, что в критериях оценки написано, что один балл ставится, если "по приведённому тексту решения ясно, что экзаменуемый понимает, из каких этапов должно состоять решение задачи". Только факт того, что я скачал в Интернете все свои бланки, этому противоречит.
Обновление 2
Всё, нашёл ошибку (см. мой ответ). Всё прояснилось, на апелляцию не пойду.
northerner
Алгоритм очень плохой. Реально плохой. Как раз на 1 балл. И да, я эксперт ЕГЭ.
А так лучше?
#include using namespace std
int main() { int N cin >> N int m[2]={-10000, -10000} int n[2]={10000, 10000} for(int i=0 in[0]) int v cin >> v if(m[mi]v) n[ni]=v } cout << max(m[0]*m[1], n[0]*n[1]) return 0 } <br>
Ответ
Автор неверно написал в теме условие задачи, необходимо найти максимальное из произведений всех пар скоростей, а не произведение двух наибольших скоростей. В критериях выставления одного балла четко написано:
Предложен лишь частично верный алгоритм решения: в программе ищутся значения только максимальных элементов.
Здесь пошла нездоровая дискуссия о том, что, мол, школьные учителя ничего не понимают в программировании, поэтому работу зарезали. Так вот, я к тому, что в данном случае всё совершенно не так, один балл выставлен справедливо.