#include <stdio.h>
// 計算兩數的最大公因數
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 計算金屬塊的最大價值
int value(int type, int width, int height, int length) {
// 1. 檢查金屬類型是否有效
if (type != 79 && type != 47 && type != 29 && type != 82 && type != 26 && type != 22) {
return -1;
}
// 2. 檢查長度、寬度、高度是否有效
if (width <= 0 || height <= 0 || length <= 0) {
return -2;
}
// 3. 計算最大正方體的邊長
int side = gcd(width, height);
side = gcd(side, length);
// 4. 根據金屬類型設置單位價值
int value_per_unit;
if (type == 79) {
value_per_unit = 30; // 金
} else if (type == 47) {
value_per_unit = 10; // 銀
} else if (type == 29) {
value_per_unit = 4; // 銅
} else if (type == 82) {
value_per_unit = 5; // 鉛
} else if (type == 26) {
value_per_unit = 3; // 鐵
} else {
value_per_unit = 9; // 鈦
}
// 5. 計算每個正方體的體積
int volume = side * side * side;
// 6. 計算正方體的數量
int num_of_cubes = (width * height * length) / (volume);
// 7. 計算並回傳金屬塊的總價值
return value_per_unit * volume * volume * num_of_cubes;
}
int main() {
int type, width, height, length;
scanf("%d%d%d%d", &type
, &width
, &height
, &length
); printf("%d", value
(type
, width
, height
, length
)); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDoqIjnrpflhanmlbjnmoTmnIDlpKflhazlm6DmlbgKaW50IGdjZChpbnQgYSwgaW50IGIpIHsKICAgIHdoaWxlIChiICE9IDApIHsKICAgICAgICBpbnQgdGVtcCA9IGI7CiAgICAgICAgYiA9IGEgJSBiOwogICAgICAgIGEgPSB0ZW1wOwogICAgfQogICAgcmV0dXJuIGE7Cn0KCi8vIOioiOeul+mHkeWxrOWhiueahOacgOWkp+WDueWAvAppbnQgdmFsdWUoaW50IHR5cGUsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IGxlbmd0aCkgewogICAgLy8gMS4g5qqi5p+l6YeR5bGs6aGe5Z6L5piv5ZCm5pyJ5pWICiAgICBpZiAodHlwZSAhPSA3OSAmJiB0eXBlICE9IDQ3ICYmIHR5cGUgIT0gMjkgJiYgdHlwZSAhPSA4MiAmJiB0eXBlICE9IDI2ICYmIHR5cGUgIT0gMjIpIHsKICAgICAgICByZXR1cm4gLTE7CiAgICB9CgogICAgLy8gMi4g5qqi5p+l6ZW35bqm44CB5a+s5bqm44CB6auY5bqm5piv5ZCm5pyJ5pWICiAgICBpZiAod2lkdGggPD0gMCB8fCBoZWlnaHQgPD0gMCB8fCBsZW5ndGggPD0gMCkgewogICAgICAgIHJldHVybiAtMjsKICAgIH0KCiAgICAvLyAzLiDoqIjnrpfmnIDlpKfmraPmlrnpq5TnmoTpgorplbcKICAgIGludCBzaWRlID0gZ2NkKHdpZHRoLCBoZWlnaHQpOwogICAgc2lkZSA9IGdjZChzaWRlLCBsZW5ndGgpOwoKICAgIC8vIDQuIOagueaTmumHkeWxrOmhnuWei+ioree9ruWWruS9jeWDueWAvAogICAgaW50IHZhbHVlX3Blcl91bml0OwogICAgaWYgKHR5cGUgPT0gNzkpIHsKICAgICAgICB2YWx1ZV9wZXJfdW5pdCA9IDMwOyAvLyDph5EKICAgIH0gZWxzZSBpZiAodHlwZSA9PSA0NykgewogICAgICAgIHZhbHVlX3Blcl91bml0ID0gMTA7IC8vIOmKgAogICAgfSBlbHNlIGlmICh0eXBlID09IDI5KSB7CiAgICAgICAgdmFsdWVfcGVyX3VuaXQgPSA0OyAgLy8g6YqFCiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gODIpIHsKICAgICAgICB2YWx1ZV9wZXJfdW5pdCA9IDU7ICAvLyDpiZsKICAgIH0gZWxzZSBpZiAodHlwZSA9PSAyNikgewogICAgICAgIHZhbHVlX3Blcl91bml0ID0gMzsgIC8vIOmQtQogICAgfSBlbHNlIHsKICAgICAgICB2YWx1ZV9wZXJfdW5pdCA9IDk7ICAvLyDpiKYKICAgIH0KCiAgICAvLyA1LiDoqIjnrpfmr4/lgIvmraPmlrnpq5TnmoTpq5TnqY0KICAgIGludCB2b2x1bWUgPSBzaWRlICogc2lkZSAqIHNpZGU7CgogICAgLy8gNi4g6KiI566X5q2j5pa56auU55qE5pW46YePCiAgICBpbnQgbnVtX29mX2N1YmVzID0gKHdpZHRoICogaGVpZ2h0ICogbGVuZ3RoKSAvICh2b2x1bWUpOwoKICAgIC8vIDcuIOioiOeul+S4puWbnuWCs+mHkeWxrOWhiueahOe4veWDueWAvAogICAgcmV0dXJuIHZhbHVlX3Blcl91bml0ICogdm9sdW1lICogdm9sdW1lICogbnVtX29mX2N1YmVzOwp9CgppbnQgbWFpbigpIHsKICAgIGludCB0eXBlLCB3aWR0aCwgaGVpZ2h0LCBsZW5ndGg7CiAgICBzY2FuZigiJWQlZCVkJWQiLCAmdHlwZSwgJndpZHRoLCAmaGVpZ2h0LCAmbGVuZ3RoKTsKICAgIHByaW50ZigiJWQiLCB2YWx1ZSh0eXBlLCB3aWR0aCwgaGVpZ2h0LCBsZW5ndGgpKTsKICAgIHJldHVybiAwOwp9Cgo=