classSolution{public:intfindUnsortedSubarray(vector<int>& nums){
vector<int>vec(nums.begin(),nums.end());sort(vec.begin(),vec.end());int i =0;int j = nums.size()-1;while(i <= j){if(nums[i]!= vec[i])break;++i;}while(i <= j){if(nums[j]!= vec[j])break;--j;}return j - i +1;}};
classSolution{public:intevalRPN(vector<string>& tokens){auto i = tokens.begin();auto j = tokens.begin();while(tokens.size()>1){if(*i !="+"&&*i !="-"&&*i !="*"&&*i !="/"){++i;}else{
j = i -2;if(*i =="+"){int left =atoi((*(i -2)).c_str());int right =atoi((*(i -1)).c_str());int ss = left + right;*(i -2)=to_string(ss);
tokens.erase(i -1, i +1);}elseif(*i =="-"){int left =atoi((*(i -2)).c_str());int right =atoi((*(i -1)).c_str());int ss = left - right;*(i -2)=to_string(ss);
tokens.erase(i -1, i +1);}elseif(*i =="*"){int left =atoi((*(i -2)).c_str());int right =atoi((*(i -1)).c_str());int ss = left * right;*(i -2)=to_string(ss);
tokens.erase(i -1, i +1);}else{int left =atoi((*(i -2)).c_str());int right =atoi((*(i -1)).c_str());int ss = left / right;*(i -2)=to_string(ss);
tokens.erase(i -1, i +1);}
i = j;}}returnatoi(tokens[0].c_str());}};