n সৈনিক বৃত্তাকারে দাঁড়িয়ে আছে, উচ্চতা A[i]। দুটি পাশাপাশি সৈনিক যাদের উচ্চতার পার্থক্য ন্যূনতম, সারা রিকনসাঁইসান্স ইউনিট বানাবে। তাদের সূচক (১-ভিত্তিক) বের করুন।
উদাহরণ
A = [10, 12, 13, 15, 10] → আউটপুট: (5, 1)
সমাধানের ধাপসমূহ
প্রথম ও শেষ সৈনিকের পার্থক্য ধরে রেখে সব পাশাপাশি জোড়া চেক করুন। ন্যূনতম পার্থক্য পেলে সূচক আপডেট করুন। বৃত্তাকার হলে শেষ ও প্রথমও পাশাপাশি।
উদাহরণ
#include <bits/stdc++.h> using namespace std; void solve(vectorA) { int n = A.size(); int D = abs(A[0] - A[n - 1]); int H = n; for (int i = 1; i < n; i++) { if (D > abs(A[i] - A[i - 1])) { D = abs(A[i] - A[i - 1]); H = i; } } cout << H << ", " << (H % n) + 1; } int main() { vector A = {10, 12, 13, 15, 10}; solve(A); return 0; }
ইনপুট
{10, 12, 13, 15, 10}
আউটপুট
5, 1