কম্পিউটার

সি ++ প্রোগ্রামের সংখ্যা গণনা করার জন্য তালিকার বাম বা ডান প্রান্ত থেকে সমস্যাগুলি সমাধান করা যেতে পারে


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে এবং আরেকটি সংখ্যা k আছে। একটি প্রতিযোগিতায় n সমস্যা আছে বিবেচনা করুন. অমলের সমস্যা সমাধানের দক্ষতা কে. অমল সর্বদা একটি তালিকার যেকোন প্রান্ত থেকে সমস্যার সমাধান করে। এবং তিনি সমস্যা সমাধান করতে পারবেন না যার অসুবিধা k এর চেয়ে বেশি। বাম এবং ডান সমস্যার অসুবিধা k-এর চেয়ে বেশি হলে তিনি থামেন। তিনি কত সমস্যার সমাধান করতে পারেন তা আমাদের গুণতে হবে। A[i] ith সমস্যার অসুবিধাকে প্রতিনিধিত্ব করে।

সুতরাং, যদি ইনপুটটি A =[4, 2, 3, 1, 5, 1, 6, 4] এর মত হয়; k =4, তাহলে আউটপুট হবে 5, কারণ প্রাথমিকভাবে বামদিকের সবথেকে বেশি সমস্যা 4 দিয়ে সমাধান করুন, তারপর 4 দিয়ে ডানদিকের সবথেকে সমস্যা সমাধান করুন, তারপর আর ডানদিকের সবথেকে বেশি সমস্যা সমাধান করতে পারবেন না, তারপর বাম থেকে, 2, 3 এবং 1 দিয়ে সমস্যা সমাধান করুন। মোট 5টি সমস্যা সমাধান করা যেতে পারে।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

n :=Al :=0r :=n - 1 এর সাইজ শুরু করার জন্য i :=0, যখন i  

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include নেমস্পেস ব্যবহার করে std;int solve(vector A, int k) { int n =A.size(); int l =0, r =n - 1; for (int i =0; i  A ={ 4, 2, 3, 1, 5, 1, 6, 4 }; int k =4; cout < 

ইনপুট

{ 4, 2, 3, 1, 5, 1, 6, 4 }, 4

আউটপুট

5

  1. C++ প্রোগ্রাম ন্যূনতম সংখ্যক ক্রিয়াকলাপ গণনা করে যা সংখ্যা n থেকে 1 করতে হবে

  2. প্রতিটি সিঁড়িতে সিঁড়ির সংখ্যা এবং ধাপের সংখ্যা গণনা করার জন্য C++ প্রোগ্রাম

  3. প্রদত্ত ক্রিয়াকলাপগুলির সাথে প্রতিটি শহর থেকে আমরা পরিদর্শন করতে পারি এমন শহরগুলির সংখ্যা গণনা করার জন্য C++ প্রোগ্রাম

  4. ডোডেকাগনের সংখ্যা গণনা করার জন্য C++ প্রোগ্রাম আমরা d এর আকার তৈরি করতে পারি