কম্পিউটার টিউটোরিয়াল

C++-এ অ্যারের মিনিমাম অ্যাডজাস্টমেন্ট কস্ট (Minimum Adjustment Cost)

একটি পজিটিভ ইন্টিজার অ্যারে দেওয়া আছে। প্রতিটি উপাদান পরিবর্তন করতে হবে যেন আডজেসেন্ট উপাদান দুটির পার্থক্য ≤ target হয়। পরিবর্তনের খরচ = Σ|A[i] - A_new[i]|। এই খরচ ন্যূনতম করতে হবে। সব উপাদান < 100 (M=100)।

উদাহরণ

arr = [56,78,53,62,40,7,26,61,50,48], target = 20

আউটপুট: Minimum adjustment cost is 35

DP রিলেশন

dp[i][j] = i-তম উপাদানকে j-এ পরিবর্তন করলে ন্যূনতম কস্ট
dp[i][j] = min_{k: |k-j|≤target} ( dp[i-1][k] ) + |j - A[i]|

বেস: dp[0][j] = |j - A[0]|। উত্তর: min_j dp[n-1][j]।

C++ প্রোগ্রাম

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

int minAdjustmentCost(int A[], int n, int target) {
    int dp[n][M+1];
    for (int j=0;j<=M;j++) dp[0][j] = abs(j - A[0]);

    for (int i=1;i

আউটপুট: Minimum adjustment cost is 35

  1. মডিফাইড অ্যারেতে মিনিমাম ভ্যালুর ম্যাক্সিমাম পসিবল ভ্যালু বের করা C++-এ

  2. C++-এ রিকারসিভ প্রোগ্রাম দিয়ে অ্যারেতে সর্বোচ্চ ও সর্বনিম্ন মান খুঁজুন

  3. C++-এ ৩-D অ্যারেতে ন্যূনতম যোগফল পাথ

  4. C++-এ কার্টেসিয়ান কোঅর্ডিনেট পয়েন্টগুলোর মিনিমাম কানেকশন খরচ বের করার প্রোগ্রাম