สมมติว่าเรามีตัวเลขสามจำนวน a, b และ c นักร้องมีเพลง 1 นาที a เพลง 2 นาที b เพลง 3 นาที c ต้องการแจกเพลงทั้งหมดเข้า 2 คอนเสิร์ท ทุกเพลงต้องอยู่ในคอนเสิร์ทใดคอนเสิร์ทหนึ่ง ต้องการให้ความต่างสัมบูรณ์ของระยะเวลาสองคอนเสิร์ทน้อยที่สุด ระยะเวลาคอนเสิร์ทคือผลรวมระยะเวลาเพลงในคอนเสิร์ทนั้น หาความต่างน้อยที่สุด
เช่น ถ้าอินพุตคือ a = 2; b = 1; c = 3 เอาต์พุตจะเป็น 1 เพราะคอนเสิร์ทแรกใส่เพลง 1 นาที 2 เพลง 2 นาที 1 เพลง 3 นาที 1 รวม 7 คอนเสิร์ทที่สอง 2 เพลง 3 นาที รวม 6 ความต่าง 1
ขั้นตอนการแก้ปัญหา
return (a + (1 ถ้า c คี่ มิฉะนั้น 0))
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
int solve(int a, int b, int c) {
return (a + c & 1);
}
int main() {
int a = 2;
int b = 1;
int c = 3;
cout << solve(a, b, c) << endl;
}
อินพุต
2, 1, 3
เอาต์พุต
1