मान लीजिए हमारे पास n तत्वों की एक सरणी A है। एक बोर्ड पर n संख्याएं लिखी गई हैं। अमल और बिमल एक टर्न-आधारित गेम खेल रहे हैं। प्रत्येक चरण में, वे एक संख्या चुनते हैं और इसे बोर्ड से हटा देते हैं। अमल पहले खेलता है। अमल बोर्ड पर बची अंतिम संख्या को न्यूनतम करना चाहता है, और बिमल इसे अधिकतम करना चाहता है। हमें वह संख्या ढूंढनी है जो बोर्ड पर शेष रहेगी।
उदाहरण के लिए, यदि इनपुट A = [2, 1, 3] है, तो आउटपुट 2 होगा, क्योंकि अमल 3 हटा देगा, बिमल 1 हटा देगा, इसलिए अंतिम संख्या 2 होगी।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
n := size of A sort the array A return A[floor of ((n - 1)/2)]
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#includeusing namespace std; int solve(vector A){ int n = A.size(); sort(A.begin(), A.end()); return A[(n - 1) / 2]; } int main(){ vector A = { 2, 1, 3 }; cout << solve(A) << endl; }
इनपुट
{ 2, 1, 3 }आउटपुट
2