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
AC × 2
AC × 20
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