Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में दूरी < K वाले तत्वों के बिना अधिकतम योग उपअनुक्रम


सरणी और मान K दिया गया है। ऐसा उपअनुक्रम ढूंढें जिसका योग अधिकतम हो और किन्हीं दो चयनित तत्वों के इंडेक्स में अंतर K से कम न हो।

उदाहरण: {6, 7, 1, 3, 8, 2, 4}, K=2 → अधिकतम योग 15।

समाधान दृष्टिकोण (DP)

  • dp[i] = इंडेक्स i तक वैध उपअनुक्रम का अधिकतम योग।
  • आधार मामले: n=0,1,2 संभालें।
  • i = 1 से k तक: dp[i] = max(arr[i], dp[i-1])।
  • i = k+1 से n-1 तक: dp[i] = max(arr[i], dp[i-(k+1)] + arr[i])।
  • dp सरणी में अधिकतम वापस करें।

C++ कार्यान्वयन

#include <bits/stdc++.h>
using namespace std;

int maxSum(int* arr, int k, int n) {
    if (n == 0) return 0;
    if (n == 1) return arr[0];
    if (n == 2) return max(arr[0], arr[1]);
    int dp[n];
    dp[0] = arr[0];
    for (int i = 1; i <= k; i++) dp[i] = max(arr[i], dp[i - 1]);
    for (int i = k + 1; i < n; i++) dp[i] = max(arr[i], dp[i - (k + 1)] + arr[i]);
    return *max_element(dp, dp + n);
}

int main() {
    int arr[] = {6, 7, 1, 3, 8, 2, 4};
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 2;
    cout << maxSum(arr, k, n);
    return 0;
}

आउटपुट

15
  1. सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++ सर्कुलर ऐरे में अधिकतम योग जहाँ कोई दो आसन्न तत्व न हों - C++

    इस समस्या में, हमें एक सर्कुलर ऐरे cirArr[] दिया गया है। हमारा कार्य एक प्रोग्राम बनाना है जो C++ में सर्कुलर ऐरे में अधिकतम योग ढूंढे जहाँ कोई दो आसन्न तत्व न हों।समस्या विवरणसर्कुलर ऐरे के लिए, हमें ऐरे के तत्वों का अधिकतम योग ढूंढना है जहाँ आसन्न तत्वों को नहीं लिया जा सकता, यानी हमें वैकल्पिक तत

  1. - C++ में ऐरे को बदलना ताकि ऐरे का GCD 1 हो जाए

    इस ट्यूटोरियल में, हम ऐरे को बदलने के प्रोग्राम पर चर्चा करेंगे ताकि ऐरे का GCD 1 हो जाए। इसके लिए हमें एक ऐरे और एक पॉजिटिव पूर्णांक k दिया जाएगा। हमारा कार्य ऐरे एलिमेंट्स को बदलना है ताकि एलिमेंट्स का GCD 1 हो जाए, जबकि ऐरे एलिमेंट्स को केवल k से तब तक विभाजित किया जाए जब तक एलिमेंट k से कम न ह

  1. - C++ में N तत्वों के सभी संयोजन प्रिंट करें जिनके चिह्न बदलकर योग M से विभाज्य हो

    इस समस्या में, हमें N तत्वों की एक सरणी दी गई है। और उन सभी तत्वों के योग को वापस करना है जो एक पूर्णांक M से विभाज्य हैं। इनपुट: सरणी = {4, 7, 3} ; M = 3 आउटपुट: 5+4+3 ; 5+4-3 इस समस्या को हल करने के लिए, हमें पावर सेट की अवधारणा जानने की आवश्यकता है जिसका उपयोग सभी संभावित योगों को खोजने के लिए कि