एक सरणी दी गई है, हर संभावित उपसरणी में सबसे छोटे और दूसरे सबसे छोटे तत्वों के योग का अधिकतम मान खोजें।
महत्वपूर्ण अवलोकन: किसी भी उपसरणी में सबसे छोटे और दूसरे सबसे छोटे तत्व सरणी के दो आसन्न तत्व ही होंगे। इसलिए केवल आसन्न जोड़ों की जांच पर्याप्त है।
उदाहरण: {4, 3, 1, 5, 6} → अधिकतम योग 11 (5+6)।
C++ कार्यान्वयन
#include <bits/stdc++.h>
using namespace std;
int pairWithMaxSum(int arr[], int N) {
if (N < 2) return -1;
int res = arr[0] + arr[1];
for (int i = 1; i < N - 1; i++)
res = max(res, arr[i] + arr[i + 1]);
return res;
}
int main() {
int arr[] = {4, 3, 1, 5, 6};
int N = sizeof(arr) / sizeof(int);
cout << pairWithMaxSum(arr, N) << endl;
return 0;
}
आउटपुट
11