इस ट्यूटोरियल में, हम विशिष्ट अंतर वाले जोड़े की अधिकतम राशि खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे।
इसके लिए हमें एक सरणी प्रदान की जाएगी जिसमें पूर्णांक और एक मान K होगा। हमारा कार्य K से कम अंतर वाले तत्वों को जोड़ना है और अंत में असंबद्ध सेटों में तत्वों का अधिकतम योग ज्ञात करना है।
उदाहरण
#include <bits/stdc++.h> using namespace std; //returning maximum sum of disjoint pairs int maxSumPairWithDifferenceLessThanK(int arr[], int N, int K){ sort(arr, arr+N); int dp[N]; dp[0] = 0; for (int i = 1; i < N; i++) { dp[i] = dp[i-1]; if (arr[i] - arr[i-1] < K) { if (i >= 2) dp[i] = max(dp[i], dp[i-2] + arr[i] + arr[i-1]); else dp[i] = max(dp[i], arr[i] + arr[i-1]); } } return dp[N - 1]; } int main() { int arr[] = {3, 5, 10, 15, 17, 12, 9}; int N = sizeof(arr)/sizeof(int); int K = 4; cout << maxSumPairWithDifferenceLessThanK(arr, N, K); return 0; }
आउटपुट
62