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

C++ প্রোগ্রাম: যোগফল s হলে n উপাদানের অ্যারেের সর্বোচ্চ মেডিয়ান

n এবং s দেওয়া আছে। n সংখ্যক নন-নেগেটিভ উপাদানের অ্যারে বানাতে হবে যেন যোগফল s হয় এবং মেডিয়ান সর্বোচ্চ হয়।

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

মেডিয়ান হবে (n/2 + 1)-তম উপাদান (সর্টেড)। প্রথম n/2 উপাদান ০ রাখলে বাকি উপাদানগুলোর যোগফল s হবে। মেডিয়ান = s / (n/2 + 1)।

উদাহরণ

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

int solve(int n, int s) { 
    int m = n / 2 + 1; 
    return s / m; 
} 

int main() { 
    int n = 3, s = 5; 
    cout << solve(n, s) << endl; 
    return 0; 
}

ইনপুট

3, 5

আউটপুট

2

ব্যাখ্যা

n=3, m=2। s/m = 5/2 = 2। অ্যারে: [1, 2, 2], যোগফল ৫, মেডিয়ান ২।

  1. বাইনারি ট্রিতে সর্বোচ্চ লেভেল সম বের করা C++-তে

  2. C++-এ অ্যারের উপাদানগুলোর যোগফল

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

  4. C++ প্রোগ্রাম: দুটি আলাদা অ্যারেতে সংরক্ষিত এলিমেন্টের মেডিয়ান বের করা