add: 220519-CN [cpp]

This commit is contained in:
eat-swap 2022-05-19 17:00:08 +08:00
parent 4943988171
commit 722cc77705
Signed by: Eatswap
GPG Key ID: BE661106A1F3FA0B
2 changed files with 27 additions and 1 deletions

26
cpp/2205/220519-CN.cpp Normal file
View File

@ -0,0 +1,26 @@
#include <vector>
#include <numeric>
#include <algorithm>
class Solution {
public:
static int minMoves2(std::vector<int>& nums) {
std::stable_sort(nums.begin(), nums.end());
long long sum = std::accumulate(nums.begin(), nums.end(), 0), psum = 0;
long long ret = 0x7FFFFFFF;
const int n = nums.size();
for (int i = 0; i < n; ++i) {
ret = std::min(ret, (sum - psum + (long long)(i * 2 - n) * nums[i]));
sum -= nums[i];
psum += nums[i];
}
return ret;
}
};
int main() {
std::vector<int> args {203125577,-349566234,230332704,48321315,66379082,386516853,50986744,-250908656,-425653504,-212123143};
Solution::minMoves2(args);
return 0;
}

View File

@ -3,4 +3,4 @@ PROJECT(2205)
SET(CMAKE_CXX_STANDARD 23) SET(CMAKE_CXX_STANDARD 23)
ADD_EXECUTABLE(2205 220518-CN.cpp) ADD_EXECUTABLE(2205 220519-CN.cpp)