#include #include #include using namespace std; #define INF 1930000000 const int MAX_N = 50; const int MAX_X = 100; const int MAX_Y = 100; int dp[MAX_X+1][MAX_Y+1]; int main(){ int gx,gy,N,F; cin >> gx >> gy >> N >> F; int x,y,c; for(int j = 0; j < gx+1; j++){ for(int k = 0; k < gy+1; k++){ dp[j][k] = F*(k+j);//初期化 //cout << dp[j][k] << " "; } // cout << endl; } for(int t = 0; t < N; t++){ cin >> x >> y >> c; for(int j = gx; j - x >= 0; j--){ for(int k = gy; k - y >= 0 ; k--){ dp[j][k] = min(dp[j][k],dp[j-x][k-y] + c); } } } cout << dp[gx][gy] << endl; return 0; }