Submission #1103323


Source Code Expand

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fbo find_by_order
#define ook order_of_key

typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<ll> vi;
typedef long double ld; 
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;
typedef set<int>::iterator sit;
typedef map<int,int>::iterator mit;
typedef vector<int>::iterator vit;

int dp[41][401][401];

int a[41];
int b[41];
int c[41];

int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0);
	memset(dp,-1,sizeof(dp));
	int ma, mb;
	int n;
	cin>>n>>ma>>mb;
	for(int i=0;i<n;i++) cin>>a[i]>>b[i]>>c[i];
	dp[0][0][0] = 0;
	dp[0][a[0]][b[0]] = c[0];
	for(int i = 1; i < n; i++)
	{
		for(int j = 0; j <= 400; j++)
		{
			for(int k = 0; k <= 400; k++)
			{
				dp[i][j][k] = 100000000;
				if(dp[i-1][j][k]!=-1)
				{
					dp[i][j][k]=min(dp[i][j][k],dp[i-1][j][k]);
				}
				if(j>=a[i]&&k>=b[i]&&dp[i-1][j-a[i]][k-b[i]]!=-1)
				{
					dp[i][j][k]=min(dp[i][j][k],dp[i-1][j-a[i]][k-b[i]]+c[i]);
				}
				
				if(dp[i][j][k]>=100000000) dp[i][j][k]=-1;
			}
		}
	}
	int ans = 100000000;
	for(int i = 1; i*max(ma,mb)<=400; i++)
	{
		if(dp[n-1][i*ma][i*mb]!=-1) ans=min(ans,dp[n-1][i*ma][i*mb]);
	}
	if(ans==100000000) cout<<-1<<'\n';
	else cout<<ans<<'\n';
}

Submission Info

Submission Time
Task D - Mixing Experiment
User zscoder
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1518 Byte
Status AC
Exec Time 21 ms
Memory 25984 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 9 ms 25984 KB
sample_02.txt AC 8 ms 25984 KB
subtask_1_01.txt AC 9 ms 25984 KB
subtask_1_02.txt AC 8 ms 25984 KB
subtask_1_03.txt AC 9 ms 25984 KB
subtask_1_04.txt AC 11 ms 25984 KB
subtask_1_05.txt AC 12 ms 25984 KB
subtask_1_06.txt AC 14 ms 25984 KB
subtask_1_07.txt AC 15 ms 25984 KB
subtask_1_08.txt AC 15 ms 25984 KB
subtask_1_09.txt AC 17 ms 25984 KB
subtask_1_10.txt AC 19 ms 25984 KB
subtask_1_11.txt AC 20 ms 25984 KB
subtask_1_12.txt AC 21 ms 25984 KB
subtask_1_13.txt AC 21 ms 25984 KB
subtask_1_14.txt AC 21 ms 25984 KB
subtask_1_15.txt AC 21 ms 25984 KB
subtask_1_16.txt AC 21 ms 25984 KB
subtask_1_17.txt AC 21 ms 25984 KB
subtask_1_18.txt AC 21 ms 25984 KB