leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
2909.cpp (597B)
0 class Solution { 1 public: 2 int minimumSum(vector<int> &nums) const { 3 static int dp[100001]; 4 const int n = size(nums); 5 6 dp[0] = nums[0]; 7 for (int i = 1, mini = nums[0]; i < n; i++) { 8 dp[i] = mini = min(mini, nums[i]); 9 } 10 11 int res = INT_MAX; 12 for (int i = n - 2, mini = nums[n - 1]; i > 0; i--) { 13 if (nums[i] > dp[i - 1] && nums[i] > mini) { 14 res = min(res, nums[i] + dp[i - 1] + mini); 15 } 16 mini = min(mini, nums[i]); 17 } 18 19 return res != INT_MAX ? res : -1; 20 } 21 };