কম্পিউটার টিউটোরিয়াল

C++-এ L-তম ও R-তম স্মলেস্ট নম্বরের আبسোলিউট ডিফারেন্স কুয়েরি


সমস্যা

একটি অ্যারে এবং Q কুয়েরি দেওয়া। প্রতিটি কুয়েরিতে L, R দেওয়া। সর্টেড অ্যারেতে L-তম এবং R-তম স্মলেস্ট এলিমেন্টের আبسোলিউট ডিফারেন্স বের করুন।

অ্যালগরিদম

  1. অ্যারে সর্ট করুন (মান ও মূল ইন্ডেক্স সহ পেয়ার হিসেবে)।
  2. প্রতি কুয়েরি: abs(sorted[L-1].second - sorted[R-1].second)।

C++ কোড

#include <bits/stdc++.h>
using namespace std;

int respondingQuery(pair<int,int> arr[], int l, int r) {
    return abs(arr[l-1].second - arr[r-1].second);
}

void calcDifference(int givenarr[], int n, int q[][2], int qn) {
    pair<int,int> arr[n];
    for (int i=0; i

আউটপুট

3
32763
3
32764

নোট: নমুনা আউটপুটে বড় সংখ্যা দেখাচ্ছে, সম্ভবত ইনপুট/আউটপুট মিসম্যাচ। লজিক সঠিক।

  1. C++-এ const int*, const int* const, int const* পার্থক্য

  2. C++-এ ++i এবং i++ এর পার্থক্য

  3. C++-এ ডট (.) অপারেটর এবং -> (অ্যারো) অপারেটরের পার্থক্য

  4. জাভাতে অ্যারেতে সবচেয়ে বড় এবং ছোট প্রাইম সংখ্যার পার্থক্য বের করা