কম্পিউটার

C++ এ K চশমা পূরণ করতে ন্যূনতম সংখ্যক বোতল প্রয়োজন


সমস্যা বিবৃতি

দেওয়া এন চশমা জল আছে, এবং তাদের ক্ষমতা প্রতিটি একটি তালিকা. কাজ হল ঠিক K চশমা পূরণ করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক বোতল খুঁজে বের করা। প্রতিটি বোতলের ক্ষমতা 100 ইউনিট।

উদাহরণ

যদি N =5, K =4, ক্ষমতা[] ={1, 2, 3, 2, 1}।

  • 2, 3, 2 ধারণক্ষমতার চশমা পূরণ করতে 8 ইউনিট প্রয়োজন৷
  • এইভাবে, মাত্র ১টি বোতল খোলার জন্য যথেষ্ট।

অ্যালগরিদম

  • ঠিক K চশমা পূরণ করতে, ন্যূনতম ক্ষমতার K চশমা নিন
  • মোট প্রয়োজনীয় বোতল −

    হিসাবে গণনা করা যেতে পারে

    (1ম k চশমার ক্ষমতার সমষ্টি) / (1 বোতলের ধারণক্ষমতা) এর সিল মান।

উদাহরণ

#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int minBottles(int *capacity, int n, int k) {
   sort(capacity, capacity + n);
   int sum = 0;
   for (int i = 0; i < k; ++i) {
      sum += capacity[i];
   }
   return ceil((double)sum/100);
}
int main() {
   int capacity[] = {1, 2, 3, 2, 1};
   cout << "Min bottles required = " <<minBottles(capacity, 5, 4) << endl;
   return 0;
}

আউটপুট

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −

তৈরি করে
Min bottles required = 1

  1. C++ এ অক্ষর মুছে না দিয়ে দুটি স্ট্রিং অ্যানাগ্রাম তৈরি করতে ন্যূনতম সংখ্যক ম্যানিপুলেশন প্রয়োজন

  2. C++ এ ন্যূনতম সংখ্যক পৃষ্ঠা বরাদ্দ করুন

  3. C++ এ k সেট বিট সহ একটি সংখ্যাকে সর্বাধিক করার জন্য ন্যূনতম ফ্লিপস প্রয়োজন।

  4. C++ এ CHAR_BIT