কম্পিউটার

C++ এ 1ম এবং 2য় অ্যারে থেকে X এবং Y উপাদানগুলি বেছে নিয়ে X+Y উপাদানগুলির যোগফল সর্বাধিক করুন


প্রদত্ত দুটি অ্যারের জন্য প্রতিটি N আকারের, কাজটি হল অ্যারে 1 থেকে X উপাদান এবং অ্যারে 2 থেকে Y উপাদানগুলি বেছে নিয়ে সর্বাধিক যোগফল খুঁজে বের করা৷

আসুন এখন বুঝতে পারি একটি উদাহরণ ব্যবহার করে আমাদের কী করতে হবে −

ইনপুট

arr1 = {1,2,3,4,5} ; X=2
arr2 = {1,3,5,2,7}; Y=3

আউটপুট

Maximum sum here is : 24

ব্যাখ্যা − আমরা arr1 থেকে 2টি সংখ্যা এবং arr2 থেকে 3টি নির্বাচন করছি। arr1-এর বৃহত্তম 2 হল 4,5 এবং arr2-এর বৃহত্তম 3 হল 3,5,7৷ এই 5টি উপাদানের মোট যোগফল 24 যা প্রয়োজন অনুসারে সর্বাধিক।

ইনপুট

arr1 = {10,13,16,14}; X=1
arr2 = {4,1,2,1}; Y=2

আউটপুট

Maximum sum here is : 22

ব্যাখ্যা − আমরা arr1 থেকে 1টি এবং arr2 থেকে 2টি নির্বাচন করছি। arr1-এর বৃহত্তম 16 এবং arr2-এর বৃহত্তম 2 হল 4,2। এই 5টি উপাদানের মোট যোগফল 22 যা প্রয়োজন অনুসারে সর্বাধিক।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • ইনপুট অ্যারে arr1[] এবং arr2[] এবং X এবং Y এর মান নিন।

  • দুটি অ্যারেকে ক্রমবর্ধমান ক্রমে সাজান।

  • arr1 থেকে শেষ X এবং arr2 থেকে Y উপাদান নিন কারণ এগুলো হবে সর্বোচ্চ।

  • শেষ পর্যন্ত আমরা ধাপ 3 এ নির্বাচিত উপাদানগুলির যোগফল ফেরত দিই কারণ এটি সর্বাধিক হবে৷

  • দ্রষ্টব্য:sort(arr[],int) সাজানো অ্যারে ফেরত দেয় বলে ধরে নেওয়া হয়।

উদাহরণ

#include <iostream>
using namespace std;
int max_sum(int arr1[],int arr2[], int length,int X,int Y){
   //for sorting the array
   sort(arr1,length);
   sort(arr2,length);
   int sum=0;
   int i;
   //adding last X elements from arr1 and last Y elements from arr2
   for(i=0;i<X;i++){
      sum+=arr1[length-i-1];
   }
   for(i=0;i<Y;i++){
      sum+=arr2[length-i-1];
   }
   return(sum);
}
// Driver program
int main(){
   int arr1[]={1,1,1,3,7};
   int arr2[]={1,1,2,3,5};
   int x=3,y=2;
   printf( "Maximized sum of X+Y elements by picking X and Y elements from 1st and 2nd array is %d",max_sum(arr1,arr2,5,x,y));
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −

Maximized sum of X+Y elements by picking X and Y elements from 1st and 2nd array is 19

  1. C++ এ প্রদত্ত অ্যারে থেকে জোড় এবং বিজোড় উপাদান অনুপস্থিত

  2. C++ এ STL ব্যবহার করে একটি অ্যারের উপাদানের যোগফল কিভাবে খুঁজে পাওয়া যায়?

  3. C++ এ একটি অ্যারের মধ্যে ক্ষুদ্রতম এবং দ্বিতীয় ক্ষুদ্রতম উপাদান খুঁজুন

  4. C++ অ্যারের সমস্ত উপাদানে XOR অপারেশন প্রয়োগ করে অ্যারের যোগফলকে মিনিমাইজ করা