From 9ce09fa373ffe569bb145601f03239d0142595a7 Mon Sep 17 00:00:00 2001 From: Pardeep Bhatt Date: Thu, 24 Sep 2020 14:13:34 +0530 Subject: [PATCH] Update cut_rod.cpp --- dynamic_programming/cut_rod.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/dynamic_programming/cut_rod.cpp b/dynamic_programming/cut_rod.cpp index ce98401dd..0d566cc8c 100644 --- a/dynamic_programming/cut_rod.cpp +++ b/dynamic_programming/cut_rod.cpp @@ -11,8 +11,8 @@ using std::cout; template -int cutrod(const std::array &p, int n) { - std::array r; +int cutrod(const std::array &p, const int n) { + int *r = new int[n + 1]; r[0] = 0; for (int j = 0; j < n; j++) { int q = INT_MIN; @@ -21,12 +21,15 @@ int cutrod(const std::array &p, int n) { } r[j + 1] = q; } - return r[n]; + int ans = r[n]; + delete[] r; + return ans; } int main() { - std::array price = {1, 5, 8, 9, 10, 17, 17, 20, 24, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50}; - cout << cutrod(price, 30); + const int n = 30; + std::array price = {1, 5, 8, 9, 10, 17, 17, 20, 24, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50}; + cout << cutrod(price, n); return 0; }