Submission #1609385
Source Code Expand
#define _USE_MATH_DEFINES
#include <iostream>
#include <string>
#include <list>
#include <vector>
#include <queue>
#include <algorithm>
#include <climits>
#include <cstring>
#include <cmath>
#include <stack>
#include <iomanip>
#include <tuple>
#include <functional>
#define int long long
#define CONTAINS(v,n) (find((v).begin(), (v).end(), (n)) != (v).end())
#define SORT(v) sort((v).begin(), (v).end())
#define RSORT(v) sort((v).rbegin(), (v).rend())
#define ARY_SORT(a, size) sort((a), (a)+(size))
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#define REMOVE(v,a) v.erase(remove(v.begin(), v.end(), a), v.end())
#define REP(i, n) for (int (i) = 0; (i) < (n); (i)++)
#define REPE(i, n) for (int (i) = 0; (i) <= (n); (i)++)
using namespace std;
int N, Ma, Mb;
int a[40];
int b[40];
int c[40];
int dp[41][401][401];
signed main()
{
cin >> N >> Ma >> Mb;
REP(i, N) cin >> a[i] >> b[i] >> c[i];
REPE(i, N)REP(j, 400)REPE(k, 400) dp[i][j][k] = INT_MAX;
dp[0][0][0] = 0;
REP(i, N)
{
REP(j, 400)REPE(k, 400)
{
if (dp[i][j][k] < INT_MAX)
{
dp[i + 1][j + a[i]][k + b[i]] = MIN(dp[i + 1][j + a[i]][k + b[i]], dp[i][j][k] + c[i]);
dp[i + 1][j][k] = MIN(dp[i + 1][j][k], dp[i][j][k]);
}
}
}
int min = INT_MAX;
REP(j, 400)REPE(k, 400)
{
if (j * Mb == Ma * k && j*k != 0)
{
min = MIN(min, dp[N][j][k]);
}
}
if (min == INT_MAX)
{
cout << "-1" << endl;
}
else
{
cout << min << endl;
}
}
Submission Info
Submission Time |
|
Task |
D - Mixing Experiment |
User |
y_kawano |
Language |
C++14 (GCC 5.4.1) |
Score |
400 |
Code Size |
1543 Byte |
Status |
AC |
Exec Time |
21 ms |
Memory |
51712 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 |
3 ms |
6400 KB |
sample_02.txt |
AC |
2 ms |
4352 KB |
subtask_1_01.txt |
AC |
4 ms |
8448 KB |
subtask_1_02.txt |
AC |
3 ms |
4352 KB |
subtask_1_03.txt |
AC |
4 ms |
8448 KB |
subtask_1_04.txt |
AC |
6 ms |
14592 KB |
subtask_1_05.txt |
AC |
7 ms |
18688 KB |
subtask_1_06.txt |
AC |
10 ms |
24832 KB |
subtask_1_07.txt |
AC |
11 ms |
28928 KB |
subtask_1_08.txt |
AC |
12 ms |
30976 KB |
subtask_1_09.txt |
AC |
14 ms |
37120 KB |
subtask_1_10.txt |
AC |
17 ms |
43264 KB |
subtask_1_11.txt |
AC |
19 ms |
49408 KB |
subtask_1_12.txt |
AC |
21 ms |
51712 KB |
subtask_1_13.txt |
AC |
20 ms |
51712 KB |
subtask_1_14.txt |
AC |
20 ms |
51712 KB |
subtask_1_15.txt |
AC |
20 ms |
51712 KB |
subtask_1_16.txt |
AC |
21 ms |
51712 KB |
subtask_1_17.txt |
AC |
20 ms |
51712 KB |
subtask_1_18.txt |
AC |
20 ms |
51712 KB |