मान लीजिए कि हमारे पास एन तत्वों के साथ एक सरणी है। हमें दिए गए ऑपरेशनों का पालन करके ऐरे से एलीमेंट को हटाना है। ऑपरेशन इस तरह है, हमें सरणी के किन्हीं दो नंबरों को चुनना है, और बड़े को हटाना है। इस ऑपरेशन में शामिल लागत छोटी संख्या के समान है। हमें इस ऑपरेशन के आधार पर एक समय में केवल एक तत्व को हटाना है, और कार्य को न्यूनतम लागत में करना है। मान लीजिए कि सरणी में {4, 2, 5} है। मैं 4 और 2 लेता हूं, लागत 2 का भुगतान करके 4 को हटाता हूं, फिर हम लागत 2 के साथ 5 को फिर से हटा देते हैं।
दृष्टिकोण बहुत सरल है। जैसा कि हम जानते हैं कि लागत छोटी वाली के समान होगी, इसलिए लागत को कम करने के लिए, हम सबसे छोटा और कुछ अन्य तत्व लेंगे, फिर बड़े को हटा दें, लागत हर समय छोटी होगी। तो कुल लागत (N – 1)*सबसे छोटी संख्या होगी।
उदाहरण
#include <iostream> #include <algorithm> using namespace std; int getMinimumCost(int arr[], int n) { int smallest = *min_element(arr, arr+n); return smallest * (n - 1); } int main() { int arr[] = { 4, 2, 5 }; int n = sizeof(arr)/sizeof(arr[0]); cout << "Minimum cost: " << getMinimumCost(arr, n); }
आउटपुट
Minimum cost: 4