কম্পিউটার

C++ এ অনুমোদিত অন্যের সাথে প্রতিস্থাপনের সাথে খরচ কম করুন


ধরুন আমাদের N উপাদান সহ একটি অ্যারে আছে। প্রদত্ত ক্রিয়াকলাপগুলি অনুসরণ করে আমাদের অ্যারে থেকে উপাদানগুলি সরাতে হবে। অপারেশনটি এরকম, আমাদের অ্যারের যেকোন দুটি সংখ্যা বেছে নিতে হবে এবং বড়টি সরাতে হবে। এই অপারেশন সহ খরচ ছোট সংখ্যার সমান। এই অপারেশনের উপর ভিত্তি করে আমাদেরকে একবারে একটি মাত্র উপাদান মুছে ফেলতে হবে এবং সর্বনিম্ন খরচে কাজটি সম্পাদন করতে হবে। ধরুন অ্যারেটিতে {4, 2, 5} আছে। আমি 4 এবং 2 নিই, খরচ 2 দিয়ে 4টি সরিয়ে ফেলি, তারপর আমরা 2 খরচ দিয়ে আবার 5 সরিয়ে দিই।

পদ্ধতি খুব সহজ. যেহেতু আমরা জানি যে খরচটি ছোটটির মতোই হবে, তাই খরচ কমাতে, আমরা সবচেয়ে ছোটটি নেব এবং অন্য কিছু উপাদান নেব, তারপর বড়টিকে সরিয়ে ফেলুন, খরচটি সব সময় ছোট হবে। সুতরাং মোট খরচ হবে (N – 1)* ক্ষুদ্রতম সংখ্যা।

উদাহরণ

#include <iostream>
#include <algorithm>
using namespace std;
int getMinimumCost(int arr[], int n) {
   int smallest = *min_element(arr, arr+n);
   return smallest * (n - 1);
}
int main() {
   int arr[] = { 4, 2, 5 };
   int n = sizeof(arr)/sizeof(arr[0]);
   cout << "Minimum cost: " << getMinimumCost(arr, n);
}

আউটপুট

Minimum cost: 4

  1. C++ এ উদাহরণ সহ এক্সপ্রেশন ট্রি

  2. C++ এ 3n স্লাইস সহ পিৎজা

  3. প্রতিস্থাপন সহ C++ ভারসাম্যপূর্ণ অভিব্যক্তি

  4. C++ এ অনুমোদিত ডুপ্লিকেট সহ একটি অ্যারেতে একটি ফিক্সড পয়েন্ট খুঁজুন