এই টিউটোরিয়ালে, আমরা L-th ক্ষুদ্রতম সংখ্যা এবং R-তম ক্ষুদ্রতম সংখ্যার মধ্যে পরম পার্থক্য ফেরত দেওয়ার জন্য প্রশ্নগুলি খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব৷
এর জন্য আমাদেরকে পূর্ণসংখ্যা এবং Q প্রশ্ন সম্বলিত একটি অ্যারে দেওয়া হবে। আমাদের কাজ হল Lth ক্ষুদ্রতম এবং Rth ক্ষুদ্রতম মানের সূচকগুলির মধ্যে পরম পার্থক্য খুঁজে বের করা৷
উদাহরণ
#include <bits/stdc++.h> using namespace std; //returning the result of a query int respondingQuery(pair<int, int> arr[], int l, int r) { int result = abs(arr[l - 1].second - arr[r - 1].second); return result; } //implementing the queries void calcDifference(int givenarr[], int a, int q[][2], int b){ pair<int, int> arr[a]; for (int i = 0; i < a; i++) { arr[i].first = givenarr[i]; arr[i].second = i; } sort(arr, arr + a); for (int i = 0; i < b; i++) cout << respondingQuery(arr, q[i][0], q[i][1]) << endl; } int main() { int arr[] = { 1, 7, 4, 2, 8}; int arraySize = sizeof(arr) / sizeof(arr[0]); int query[][2] = { { 2, 7 }, { 4, 8 }, { 1, 2 }, { 8, 1 }}; int querySize = sizeof(query) / sizeof(query[0]); calcDifference(arr, arraySize, query, querySize); return 0; }
আউটপুট
3 32763 3 32764