3) Сместиться на (4,-4)
Объяснение:
Начальная точка (0,0)
Сначала мы сместились на (-3,-6) - наше новое положение.
Затем считаем в цикле что получилось: (2+3 , -5+3), мы сложили числа и получили (5,-2), так как мы повторяем 3 раза то мы (5,-2) умножаем на 3 и получаем (15,-6) .
Теперь мы складываем наше положение с тем что получилось в цикле: (15+(-3) , -6+(-6)) и получаем (12,-12), так как у нас был цикл мы делим это на 3 и получаем (4,-4).
В задаче сказано, что надо такую команду, чтобы чертёжник переместился в начальную точку(см.выше), для этого нам надо поменять знаки на противоположные(с "+" на "-" или с "-" на "+") чтобы получить (0,0) и это будет (-4,4).
Более подробно невозможно расписать.
#include <iostream>
#include <vector>
using namespace std;
int pos_sum(vector<int> &v){
int res = 0;
for(auto &i : v)
res += i * (i > 0);
return res;
}
int min_max_mult(vector<int> &v){
int res = 1;
pair<int,int> mn,mx;
mn = {v[0],0};
mx = mn;
for(int i = 1; i < v.size(); i++){
if(v[i] > mx.first){
mx.first = v[i];
mx.second = i;
}
if(v[i] < mn.first){
mn.first = v[i];
mn.second = i;
}
}
int st = min(mn.second, mx.second), fn = max(mn.second,mx.second);
for(int i = st + 1; i < fn; i++)
res *= v[i];
return res;
}
int main(){
int n;
cin >> n;
vector<int> a(n);
for(auto &i : a) cin >> i;
cout << pos_sum(a) << " " << min_max_mult(a);
}