aboutsummaryrefslogtreecommitdiff
path: root/dp_solver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dp_solver.cpp')
-rw-r--r--dp_solver.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/dp_solver.cpp b/dp_solver.cpp
index 055990c..3bbb1c2 100644
--- a/dp_solver.cpp
+++ b/dp_solver.cpp
@@ -66,8 +66,14 @@ int main() {
// Set initial value
DP[s] = start;
+
+ // Find the optimal solution
+ int sol = 7200000;
for (int i = 0; i < 36000 * max_it; i++) {
if (DP[i] != -1) {
+ if (i / 36000 > sol / 36000) break;
+ if (DP[i] >= goal && (sol == 7200000 || DP[i] > DP[sol])) sol = i;
+
// Calculate parameters
int it = i / 36000;
int MPQ = (i / 3600) % 10, SB = (i / 360) % 10, M = (i / 36) % 10;
@@ -150,13 +156,6 @@ int main() {
}
}
- // Find the optimal solution
- int sol = 7200000;
- for (int i = 0; i < 36000 * max_it; i++) {
- if (i / 36000 > sol / 36000) break;
- if (DP[i] >= goal && (sol == 7200000 || DP[i] > DP[sol])) sol = i;
- }
-
// Print output
if (sol != 7200000) {
vector<int> output;