สมมติว่าเรามีตัวเลขสามจำนวน y, b และ r มีของตกแต่งสีเหลือง y ชิ้น สีน้ำเงิน b ชิ้น สีแดง r ชิ้น การตกแต่งจะสวยถ้า จำนวนสีน้ำเงินมากกว่าสีเหลือง 1 ชิ้นพอดี และสีแดงมากกว่าสีน้ำเงิน 1 ชิ้นพอดี ต้องการเลือกของตกแต่งมากที่สุดและทำให้สวย หาจำนวนของตกแต่งสูงสุด
เช่น ถ้าอินพุตคือ y = 8; b = 13; r = 9 เอาต์พุตจะเป็น 24 เพราะ 7 + 8 + 9 = 24
ขั้นตอนการแก้ปัญหา
return 3 * (min(y, b - 1, r - 2))
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
int solve(int y, int b, int r) {
return 3 * min(y, min(b - 1, r - 2)) + 3;
}
int main() {
int y = 8;
int b = 13;
int r = 9;
cout << solve(y, b, r) << endl;
}
อินพุต
8, 13, 9
เอาต์พุต
24