সমস্যা বিবৃতি
একটি অ্যারে দেওয়া হলে, arr[] (arr[i] – i) – (arr[j] – j) এর সর্বাধিক মান খুঁজুন যেখানে i j এর সমান নয়। যেখানে i এবং j 0 থেকে n-1 পরিবর্তিত হয় এবং n হল ইনপুট অ্যারে অ্যারের আকার[]।
যদি ইনপুট অ্যারেটি হয় {7, 5, 10, 2, 3} তাহলে আমরা 9টি সর্বাধিক মান পেতে পারি -
(উপাদান 10 – সূচক 2) - (উপাদান 2 – সূচক 3)(10 – 2) – (2 – 3) =8 – (-1) =9
অ্যালগরিদম
<পূর্ব>1. পুরো অ্যারেতে (arr[i] – i) এর সর্বোচ্চ মান খুঁজুন।2। সম্পূর্ণ অ্যারেতে (arr[i] – i) এর সর্বনিম্ন মান খুঁজুন।3। উপরের দুটি মানের রিটার্ন পার্থক্যউদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int getMaxDiff(int *arr, int n){ if (n <2) { cout <<"অবৈধ ইনপুট" < maxVal) { cout <<"Max =" < আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −
তৈরি করেসর্বোচ্চ মান =সর্বোচ্চ =7 - 0 মিনিট =7 - 0 মিনিট =5 - 1 সর্বোচ্চ =10 - 2 মিনিট =2 - 3 9