#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
void solution(vector<int>&v) // Меняем сам вектор
{
if(v.empty()) return;
// Ищем min/max
auto m = minmax_element(v.begin(),v.end());
// Прибавляем **нужное** среднее
int d = abs(*m.first+*m.second)/2; // (abs(*m.first)+abs(*m.second))/2
for_each(v.begin(),v.end(),[d](int&x){ x+= d; });
}
int main()
{
vector<int> v{1,2,3,4,5,6,7,8,9};
for(int i: v) cout << i << " "; cout << endl;
solution(v);
for(int i: v) cout << i << " "; cout << endl;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29sdXRpb24odmVjdG9yPGludD4mdikgLy8g0JzQtdC90Y/QtdC8INGB0LDQvCDQstC10LrRgtC+0YAKewogICAgaWYodi5lbXB0eSgpKSByZXR1cm47CiAgICAvLyDQmNGJ0LXQvCBtaW4vbWF4CiAgICBhdXRvIG0gPSBtaW5tYXhfZWxlbWVudCh2LmJlZ2luKCksdi5lbmQoKSk7CiAgICAvLyDQn9GA0LjQsdCw0LLQu9GP0LXQvCAqKtC90YPQttC90L7QtSoqINGB0YDQtdC00L3QtdC1CiAgICBpbnQgZCA9IGFicygqbS5maXJzdCsqbS5zZWNvbmQpLzI7ICAvLyAoYWJzKCptLmZpcnN0KSthYnMoKm0uc2Vjb25kKSkvMgogICAgZm9yX2VhY2godi5iZWdpbigpLHYuZW5kKCksW2RdKGludCZ4KXsgeCs9IGQ7IH0pOwp9CgppbnQgbWFpbigpCnsKICAgIHZlY3RvcjxpbnQ+IHZ7MSwyLDMsNCw1LDYsNyw4LDl9OwogICAgZm9yKGludCBpOiB2KSBjb3V0IDw8IGkgPDwgIiAgIjsgY291dCA8PCBlbmRsOwogICAgc29sdXRpb24odik7CiAgICBmb3IoaW50IGk6IHYpIGNvdXQgPDwgaSA8PCAiICAiOyBjb3V0IDw8IGVuZGw7Cn0K