можно использовать только операции целочисленной арифметики, операторы присваивания, условные конструкции, циклы while и for, операции ввода-вывода и контейнер vector.
Значит ли это, ваше решение неправильное?
Это какие-то жалкие проценты.
Я занимался олимпиадами много лет, брал призы на чемпионатах мира
vector<int> f2(const vector<int>v) {
int max1{ -1 }, max2{ -1 }, min1{ 1 }, min2{ 1 };
if (v.size() == 2)return v;
for (int i = v.size() - 1;i >= 0;i--) {
if (v[i] < 0) {
if (v[i] <= min1) {
min2 = min1;
min1 = v[i];
}
else if (v[i] < min2) min2 = v[i];
}
else {
if (v[i] >= max1) {
max2 = max1;
max1 = v[i];
}
else if (v[i] > max2) max2 = v[i];
}
};
if (max1 * max2 > min1 * min2) return{ max2,max1 };
else return{ min1,min2 };
}
Умножение целых почти такое же быстрое, как и сложение.
Умножение все-равно делать в итоге надо по условию задачи и там нет переполнения.
Это те самые преждевременные оптимизации, которые являются злом по известной цитате Дональда Кнута.
Даже на олимпиадах практически никогда не требуется микрооптимизаций
такое же по временной сложности
Дык первым делом назначаем новый адрес же
локальная сеть изначально делается не 192.168.0.0
Будет видно в Wireshark только трафик самого этого хоста
На практике таких конфликтов не встречал десятки лет
каждого посадить в отдельный VLAN и сделать ваш ПК маршрутизатором между всеми VLAN'ами
Ок, направленную антенну к телефону, я так понимаю, не проблема прикрепить?