classSolution{public:staticboolcomp(int a,int b){returnabs(a)>abs(b);}intlargestSumAfterKNegations(vector<int>& nums,int k){sort(nums.begin(), nums.end(), comp);int result =0;for(int i =0; i < nums.size(); i++){if(nums[i]<0&& k >0){
nums[i]*=-1;
k--;}if(i != nums.size()-1) result += nums[i];}if(k %2==1) nums[nums.size()-1]*=-1;
result += nums[nums.size()-1];return result;}};
classSolution{public:intcandy(vector<int>& ratings){
vector<int>can(ratings.size(),1);int result =0;for(int i =1; i < ratings.size(); i++){if(ratings[i]> ratings[i -1]){
can[i]= can[i -1]+1;}}for(int i = ratings.size()-2; i >=0; i--){if(ratings[i]> ratings[i +1]){
can[i]=max(can[i], can[i +1]+1);}
result += can[i];}
result += can.back();return result;}};