Алгоритм нахождения второго максимума в массиве A различных чисел, размером N, при условии 2 <= N, за один проход.
size_t i = a[0] > a[1] ? 0 : 1;
size_t j = a[0] < a[1] ? 0 : 1;
for (size_t k = 2; k < n; ++k) {
if (a[k] > a[i]) {
j = i;
i = k;
}
else if (a[k] > a[j]) {
j = k;
}
}
cout << "! " << j << '\n';
Какие 40 запросов нужны этим дебилам я не пойму?
И теперь о главном. Считать с нуля – это божественно. Тогда, если в задании русским по белому написано, что нужно найти индекс второго максимума во всём массиве, то для массива [5,1,4,2,3] решением станет значение индекса 2 ( по крайней мере, в языках С/С++)