Submission #45712045
Source Code Expand
#include <bits/stdc++.h> #ifdef LOCAL #include "debug.h" #else #define debug(...) #endif using int64 = long long; using uint = unsigned int; using uint64 = unsigned long long; bool ckmin(auto& a, auto b) { return b < a ? a = b, 1 : 0; } bool ckmax(auto& a, auto b) { return b > a ? a = b, 1 : 0; } using namespace std; const int inf = 1e9; int32_t main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, H; cin >> n >> H; vector<int> X(n + 1), F(n), P(n); for (int i = 1; i <= n; i++) cin >> X[i]; for (int i = 1; i < n; i++) cin >> P[i] >> F[i]; vector dp(n + 1, vector(H + 1, vector<int>(H + 1, inf))); for (int i = 0; i <= H; i++) dp[n][i][i] = 0; for (int i = n - 1; i >= 0; i--) { for (int j = 0; j <= H; j++) { for (int k = H; k >= 0; k--) { if (k < H) { ckmin(dp[i][j][k], dp[i][j][k + 1]); } int dx = X[i + 1] - X[i]; if (j - dx >= 0 && k + dx <= H) { ckmin(dp[i][j][k], dp[i + 1][j - dx][k + dx]); } if (min(H, j + F[i]) - dx >= 0 && k + dx <= H) { ckmin(dp[i][j][k], dp[i + 1][min(H, j + F[i]) - dx][k + dx] + P[i]); } if (j - dx >= 0 && k - F[i] + dx >= 0 && k - F[i] + dx <= H && k - F[i] >= 0 && k - F[i] <= H) { ckmin(dp[i][j][k], dp[i + 1][j - dx][k - F[i] + dx] + P[i]); } } } } int ans = dp[0][H][0]; if (ans > inf / 2) ans = -1; cout << ans << '\n'; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Fuel Round Trip |
User | xindubawukong |
Language | C++ 20 (gcc 12.2) |
Score | 550 |
Code Size | 1517 Byte |
Status | AC |
Exec Time | 187 ms |
Memory | 113172 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 550 / 550 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample00.txt, sample01.txt, sample02.txt |
All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample00.txt | AC | 1 ms | 3636 KiB |
sample01.txt | AC | 1 ms | 3436 KiB |
sample02.txt | AC | 1 ms | 3528 KiB |
testcase00.txt | AC | 1 ms | 4048 KiB |
testcase01.txt | AC | 3 ms | 5212 KiB |
testcase02.txt | AC | 128 ms | 112908 KiB |
testcase03.txt | AC | 125 ms | 112936 KiB |
testcase04.txt | AC | 51 ms | 33100 KiB |
testcase05.txt | AC | 147 ms | 89128 KiB |
testcase06.txt | AC | 179 ms | 107328 KiB |
testcase07.txt | AC | 187 ms | 113156 KiB |
testcase08.txt | AC | 163 ms | 112404 KiB |
testcase09.txt | AC | 5 ms | 5408 KiB |
testcase10.txt | AC | 131 ms | 82116 KiB |
testcase11.txt | AC | 183 ms | 113152 KiB |
testcase12.txt | AC | 164 ms | 102268 KiB |
testcase13.txt | AC | 164 ms | 113172 KiB |
testcase14.txt | AC | 154 ms | 99740 KiB |
testcase15.txt | AC | 131 ms | 83444 KiB |
testcase16.txt | AC | 171 ms | 108928 KiB |
testcase17.txt | AC | 178 ms | 113092 KiB |
testcase18.txt | AC | 151 ms | 107396 KiB |
testcase19.txt | AC | 6 ms | 6472 KiB |
testcase20.txt | AC | 141 ms | 95484 KiB |
testcase21.txt | AC | 165 ms | 113152 KiB |
testcase22.txt | AC | 155 ms | 103740 KiB |
testcase23.txt | AC | 156 ms | 113172 KiB |
testcase24.txt | AC | 89 ms | 55672 KiB |
testcase25.txt | AC | 36 ms | 24128 KiB |
testcase26.txt | AC | 178 ms | 107752 KiB |
testcase27.txt | AC | 187 ms | 113136 KiB |
testcase28.txt | AC | 157 ms | 107348 KiB |
testcase29.txt | AC | 180 ms | 113140 KiB |
testcase30.txt | AC | 73 ms | 47208 KiB |
testcase31.txt | AC | 174 ms | 113092 KiB |
testcase32.txt | AC | 177 ms | 112092 KiB |
testcase33.txt | AC | 162 ms | 113152 KiB |