From 722cc77705a5e89a78bf4c8a01420451aa1242ef Mon Sep 17 00:00:00 2001 From: eat-swap Date: Thu, 19 May 2022 17:00:08 +0800 Subject: [PATCH] add: 220519-CN [cpp] --- cpp/2205/220519-CN.cpp | 26 ++++++++++++++++++++++++++ cpp/2205/CMakeLists.txt | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 cpp/2205/220519-CN.cpp diff --git a/cpp/2205/220519-CN.cpp b/cpp/2205/220519-CN.cpp new file mode 100644 index 0000000..ab141d4 --- /dev/null +++ b/cpp/2205/220519-CN.cpp @@ -0,0 +1,26 @@ +#include +#include +#include + +class Solution { +public: + static int minMoves2(std::vector& 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 args {203125577,-349566234,230332704,48321315,66379082,386516853,50986744,-250908656,-425653504,-212123143}; + Solution::minMoves2(args); + + return 0; +} diff --git a/cpp/2205/CMakeLists.txt b/cpp/2205/CMakeLists.txt index 9e5d13e..cf2b7cd 100644 --- a/cpp/2205/CMakeLists.txt +++ b/cpp/2205/CMakeLists.txt @@ -3,4 +3,4 @@ PROJECT(2205) SET(CMAKE_CXX_STANDARD 23) -ADD_EXECUTABLE(2205 220518-CN.cpp) +ADD_EXECUTABLE(2205 220519-CN.cpp)