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);
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 }
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 }
19 return res != INT_MAX ? res : -1;
20 }
21 };