Submission #1871094
Source Code Expand
#include <algorithm> #include <cctype> #include <complex> #include <iomanip> #include <iostream> #include <numeric> #include <queue> #include <set> #include <string> #include <vector> using std::cin; using std::cout; using std::endl; using std::string; using std::to_string; using std::vector; using std::set; using std::queue; using std::priority_queue; using std::min; using std::max; using std::sort; using std::abs; class Item { public: int a; int b; int c; Item() {} Item(int a, int b, int c) : a(a), b(b), c(c) {} }; const int INF = 1e9; int main(void) { int n, ma, mb; cin >> n >> ma >> mb; vector<Item> items(n); for (int i = 0; i < n; i++) { int a, b, c; cin >> a >> b >> c; items[i] = Item(a, b, c); } vector<vector<vector<int>>> dp( 401, vector<vector<int>>(401, vector<int>(n + 1, INF))); fill(dp[0][0].begin(), dp[0][0].end(), 0); for (int i = 1; i <= 400; i++) { for (int j = 1; j <= 400; j++) { for (int k = 1; k <= n; k++) { dp[i][j][k] = dp[i][j][k - 1]; int rest_a = i - items[k - 1].a; int rest_b = j - items[k - 1].b; if (rest_a >= 0 && rest_b >= 0) { dp[i][j][k] = min(dp[i][j][k], items[k - 1].c + dp[rest_a][rest_b][k - 1]); } } } } int ans = INF; for (int i = 1; i * ma <= 400 && i * mb <= 400; i++) { ans = min(ans, dp[i * ma][i * mb][n]); } cout << (ans == INF ? -1 : ans) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Mixing Experiment |
User | somq14 |
Language | C++14 (Clang 3.8.0) |
Score | 400 |
Code Size | 1720 Byte |
Status | AC |
Exec Time | 59 ms |
Memory | 31744 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt |
All | sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 17 ms | 9336 KB |
sample_02.txt | AC | 13 ms | 9088 KB |
subtask_1_01.txt | AC | 15 ms | 9088 KB |
subtask_1_02.txt | AC | 13 ms | 9088 KB |
subtask_1_03.txt | AC | 15 ms | 9088 KB |
subtask_1_04.txt | AC | 20 ms | 14080 KB |
subtask_1_05.txt | AC | 22 ms | 14080 KB |
subtask_1_06.txt | AC | 26 ms | 19200 KB |
subtask_1_07.txt | AC | 28 ms | 19200 KB |
subtask_1_08.txt | AC | 30 ms | 21632 KB |
subtask_1_09.txt | AC | 34 ms | 24192 KB |
subtask_1_10.txt | AC | 48 ms | 26752 KB |
subtask_1_11.txt | AC | 57 ms | 31744 KB |
subtask_1_12.txt | AC | 57 ms | 31744 KB |
subtask_1_13.txt | AC | 58 ms | 31744 KB |
subtask_1_14.txt | AC | 57 ms | 31744 KB |
subtask_1_15.txt | AC | 57 ms | 31744 KB |
subtask_1_16.txt | AC | 58 ms | 31744 KB |
subtask_1_17.txt | AC | 57 ms | 31744 KB |
subtask_1_18.txt | AC | 59 ms | 31744 KB |