मान लीजिए हमारे पास तीन संख्याएं a, b और c हैं। एक गायक के पास 'a' एक-मिनट के गाने, 'b' दो-मिनट के गाने और 'c' तीन-मिनट के गाने हैं। वह सभी गानों को दो संगीत कार्यक्रमों में वितरित करना चाहता है, जैसे कि प्रत्येक गाना ठीक एक संगीत कार्यक्रम में शामिल हो। वह संगीत कार्यक्रमों की अवधि के पूर्ण अंतर को यथासंभव छोटा बनाना चाहता है। संगीत कार्यक्रम की अवधि उस संगीत कार्यक्रम के सभी गानों की अवधि का योग है। हमें संगीत कार्यक्रम की अवधि के बीच न्यूनतम संभव अंतर ढूंढना है।
उदाहरण के लिए, यदि इनपुट a = 2; b = 1; c = 3 है, तो आउटपुट 1 होगा, क्योंकि वह पहले संगीत कार्यक्रम में दो एक-मिनट के गाने, एक दो-मिनट का गाना और एक तीन-मिनट का गाना शामिल कर सकता है, और दूसरे संगीत कार्यक्रम में दो तीन-मिनट के गाने। पहले संगीत कार्यक्रम की अवधि 1 + 1 + 2 + 3 = 7 होगी, दूसरे संगीत कार्यक्रम की अवधि 6 होगी। उनका अंतर |7 - 6| = 1 है।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
return (a + (1 if c is odd, otherwise 0))
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#includeusing 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