Submission #2243419


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
 
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define RFOR(i,a,b) for(int i=(b)-1;i>=(a);i--)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n)  RFOR(i,0,n)
#define VSORT(v) sort(v.begin(), v.end())
#define DVSORT(v) sort(v.begin(), v.end(),greater<int>())
#define SORT(v, n) sort(v, v+n)
#define DSORT(v,n) sort(v, v+n,greater<int>())
#define vi vector<int>
#define pb push_back
 
template <class T> void chmin(T&a,const T&b) { a = min(a,b); }
template <class T> void chmax(T&a,const T&b) { a = max(a,b); }
 
void print(){cout<<endl;}
template <class Head, class... Tail>
void print(Head&& h,Tail&&... t){ 
	if(sizeof...(t)==0)
		cout<<h;
	else
		cout<<h<<' ';
	print(move(t)...);
}
 
const double EPS =1e-9;
const long INF =2147483647;//32bit 2*1e+9
const long MOD =1e+9+7;
#define PI 3.14159265258979
#define P pair<int,int>
#define PPi pair<P,int>
 
int dy[]={0, 0, 1, -1, 1, 1, -1, -1};
int dx[]={1, -1, 0, 0, 1, -1, -1, 1};
const int MAX_V = 100;
const int MAX_E = 1000;

const int nmax=40,abmax=10;
int a[nmax],b[nmax],c[nmax];
int dp[nmax+1][nmax*abmax+1][nmax*abmax+1];

int main(void){
	cin.tie(0);
	ios_base::sync_with_stdio(false);

	int n,ma,mb;
	cin>>n>>ma>>mb;
	REP(i,n) cin>>a[i]>>b[i]>>c[i];

	REP(i,n+1)
		REP(j,nmax*abmax+1)
			REP(r,nmax*abmax+1)
				dp[i][j][r]=INF;

	dp[0][0][0]=0;
	
	REP(i,n){
		REP(j,nmax*abmax+1){
			REP(r,nmax*abmax+1){
				if(dp[i][j][r]==INF) continue; //INFなら更新の必要はないため
				chmin(dp[i+1][j][r],dp[i][j][r]); //i番目の商品を選ばない
				chmin(dp[i+1][j+a[i]][r+b[i]],dp[i][j][r]+c[i]); //i番目の商品を選ぶ
			}
		}
	}

	int result=INF;
	
	FOR(i,1,nmax*abmax+1)
		FOR(j,1,nmax*abmax+1)
			if(i*mb==j*ma) chmin(result,dp[n][i][j]);

	if(result==INF) print("-1");
	else print(result);

	return 0;
}

Submission Info

Submission Time
Task D - Mixing Experiment
User stnae678
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1965 Byte
Status AC
Exec Time 16 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 3 ms 4352 KB
sample_02.txt AC 2 ms 1536 KB
subtask_1_01.txt AC 3 ms 4352 KB
subtask_1_02.txt AC 3 ms 2176 KB
subtask_1_03.txt AC 4 ms 4352 KB
subtask_1_04.txt AC 5 ms 8448 KB
subtask_1_05.txt AC 6 ms 10496 KB
subtask_1_06.txt AC 7 ms 12544 KB
subtask_1_07.txt AC 8 ms 14592 KB
subtask_1_08.txt AC 9 ms 16640 KB
subtask_1_09.txt AC 11 ms 18688 KB
subtask_1_10.txt AC 13 ms 22784 KB
subtask_1_11.txt AC 14 ms 24832 KB
subtask_1_12.txt AC 15 ms 25984 KB
subtask_1_13.txt AC 15 ms 25984 KB
subtask_1_14.txt AC 15 ms 25984 KB
subtask_1_15.txt AC 16 ms 25984 KB
subtask_1_16.txt AC 16 ms 25984 KB
subtask_1_17.txt AC 16 ms 25984 KB
subtask_1_18.txt AC 16 ms 25984 KB