ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে এবং অন্যান্য মান l, r এবং k আছে। অমল চকলেট কিনতে চায় এবং সে খুব দামি চকলেট কিনবে না, খুব সস্তা চকোলেটও না। দোকানে, n বিভিন্ন চকলেট বার রয়েছে এবং দামগুলি A তে উপস্থাপন করা হয়েছে। একটি চকলেট বার খুব ব্যয়বহুল যদি এর দাম r-এর থেকে বড় হয় এবং খুব সস্তা হয় যদি এর দাম l-এর থেকে কম হয়। তিনি সর্বোচ্চ k টাকা খরচ করতে চান। তিনি কতটা চকলেট কিনতে পারবেন তা আমাদের খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি A =[1, 2, 3, 4, 5, 6] এর মত হয়; l =3; r =5; k =10, তাহলে আউটপুট হবে 2, কারণ সে 7 টাকায় 3 এবং 4 টাকা মূল্যের চকলেট কিনতে পারে।
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
n :=Aans এর আকার :=0 শুরু করার জন্য অ্যারে সাজান i :=0, যখন ik, তারপর:থেকে বেরিয়ে আসুন লুপ যদি A[i]>=l এবং A[i] <=r, তাহলে:k :=k - A[i] (1 দ্বারা উত্তর বাড়ান) উত্তর ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#includeনেমস্পেস ব্যবহার করে std;int solve(vector A, int l, int r, int k) { int n =A.size(); int ans =0; sort(A.begin(), A.end()); for (int i =0; i k) বিরতি; যদি (A[i]>=l &&A[i] <=r) { k -=A[i]; ++আন; } } উত্তর দিন;} int main() { ভেক্টর A ={ 1, 2, 3, 4, 5, 6}; int l =3; int r =5; int k =10; cout < ইনপুট
<প্রে>{ 1, 2, 3, 4, 5, 6 }, 3, 5, 10
আউটপুট
2