মান লক্ষ্য করুন একটি n এলিমেন্টের অ্যারে A, এবং সব এলিমেন্ট ডিস্টিনക്্ট। n জন অনসাইট ফাইনালিস্ট আছে যারা একটি কোম্পানিতে জয়েন করতে পারেন, তাদের কোয়ালিফাইং র্যাঙ্ক অ্যারে A-তে আছে। আমাদের ন্যূনতম সম্ভাব্য কন্টেস্ট্যান্টের সংখ্যা বের করতে হবে যারা অনসাইট ফাইনাল রাউন্ডে কাম্পিট করার আহ্বান অস্বীকার করেছে। ২৫ জন থেকে, কেউ অ্যাকসেপ্ট করেছে কেউ ডিক্লাইন করেছে।
তাই, যদি ইনপুট হয় A = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28], তবে আউটপুট হবে ৩, কারণ ১ষ্ঠ, ১৩ষ্ঠ এবং ২৭ষ্ঠ অবশ্যই ডিক্লাইন করেছে।
ধাপসমূহ
এটি সমাধান করার জন্য, আমরা এই ধাপগুলো অনুসরণ করব −
mx := 0
for initialize i := 0, when i < size of A, update (increase i by 1), do:
mx := maximum of mx and A[i]
return maximum of mx - 25 and 0
উদাহরণ
বेहतर বোঝার জন্য ইমপ্লিমেন্টেশন দেখি −
#include <bits/stdc++.h>
using namespace std;
int solve(vector<int> A){
int mx = 0;
for (int i = 0; i < A.size(); i++)
mx = max(mx, A[i]);
return max(mx - 25, 0);
}
int main(){
vector<int> A = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 28 };
cout << solve(A) << endl;
}
ইনপুট
{ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28 }
আউটপুট
3