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

সি++ কোড: তিনটি হিপ থেকে সর্বোচ্চ পাথর সংগ্রহ করুন

তিনটি সংখ্যা a, b, c দেওয়া আছে। তিনটি হিপে যথাক্রমে a, b, c পাথর আছে। প্রতিবার নিচের অপারেশনগুলো করতে পারবেন:

  • প্রথম হিপ থেকে ১টি এবং دوم হিপ থেকে ২টি পাথর নিন (যদি পর্যাপ্ত থাকে)
  • দ্বিতীয় হিপ থেকে ১টি এবং তৃতীয় হিপ থেকে ২টি পাথর নিন (যদি পর্যাপ্ত থাকে)

সর্বোচ্চ কতটি পাথর সংগ্রহ করা যাবে তা বের করতে হবে।

উদাহরণ

a=3, b=4, c=5 → আউটপুট: 9
ব্যাখ্যা: দুইবার অপারেশন ২ করে ২+৪=৬ পাথর, তারপর অপারেশন ১ করে ১+২=৩ পাথর, মোট ৯।

সমাধানের ধাপসমূহ

return (min(b, c/2) + min(a, (b - min(b, c/2))/2)) * 3

সি++ কোড উদাহরণ

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

int solve(int a, int b, int c) {
    return (min(b, c/2) + min(a, (b - min(b, c/2))/2)) * 3;
}

int main() {
    int a=3, b=4, c=5;
    cout << solve(a, b, c) << endl;
}

ইনপুট

3, 4, 5

আউটপুট

9
  1. C++ প্রোগ্রাম: গ্রাফ থেকে এজ মুছে স্কোর সর্বনিম্ন করায় সর্বোচ্চ কমতি

  2. C++-এ অ্যারে থেকে উপাদান মুছে সর্বোচ্চ পয়েন্ট লাভ করা

  3. C++-এ বাক্স থেকে সর্বোচ্চ ক্যান্ডি সংগ্রহ (Maximum Candies You Can Get from Boxes)

  4. C++-এ তিনটি স্ট্যাকের সমান সর্বোচ্চ যোগফল বের করুন