मान लीजिए हमारे पास n तत्वों वाली एक सरणी A है, और एक और संख्या d है। ड्रीमलैंड की सेना के नियमों के अनुसार, एक टोही इकाई में ठीक दो सैनिक होने चाहिए। चूंकि इन दो सैनिकों में ज्यादा अंतर नहीं होना चाहिए, उनकी ऊंचाई अधिकतम d सेंटीमीटर तक भिन्न हो सकती है। n सैनिक हैं जिनकी ऊंचाई सरणी A में संग्रहीत है। कुछ सैनिकों की ऊंचाई समान है। हमें इन n सैनिकों से टोही इकाई बनाने के कितने तरीके मौजूद हैं, यह पता लगाना है।
इसलिए, यदि इनपुट A = [10, 20, 50, 60, 65]; d = 10 है, तो आउटपुट 6 होगा, क्योंकि (10, 20), (20, 10), (50, 60), (60, 50), (60, 65), (65, 60) संभावित इकाइयां हैं।
चरण
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
ans := 0 for initialize i := 1, when i < size of A, update (increase i by 1), do: for initialize j := 0, when j < i, update (increase j by 1), do: if |A[i] - A[j]| <= d, then: (increase ans by 1) return ans * 2
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
#include <bits/stdc++.h> using namespace std; int solve(vector<int> A, int d){ int ans = 0; for (int i = 1; i < A.size(); i++) for (int j = 0; j < i; j++) if (abs(A[i] - A[j]) <= d) ans++; return ans * 2; } int main(){ vector<int> A = { 10, 20, 50, 60, 65 }; int d = 10; cout << solve(A, d) << endl; }इनपुट
{ 10, 20, 50, 60, 65 }, 10आउटपुट
6