Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ कोड: सभी कार्य पूरा करने के लिए आवश्यक न्यूनतम समय ज्ञात करना


मान लीजिए हमारे पास n तत्वों वाली एक सरणी A है, और दो अन्य सरणी k और x हैं। i-वां कार्य पूरा करने में A[i] समय लगता है। दी गई A गैर-घटते क्रम में सॉर्टेड है। अमल अधिकतम k कार्य लेता है और उनमें से प्रत्येक को A[i] के बजाय x यूनिट समय में करता है। (x < सभी A[i] का न्यूनतम)। हमें अमल के कार्य पूरा करने के लिए आवश्यक न्यूनतम समय ज्ञात करना है। अमल एक साथ एक से अधिक कार्य नहीं कर सकता।

इसलिए, यदि इनपुट A = [3, 6, 7, 10]; k = 2; x = 2 है, तो आउटपुट 13 होगा, क्योंकि सबसे अच्छा विकल्प तीसरे और चौथे कार्य को करना होगा, प्रत्येक पर x = 2 समय खर्च करके A[2] और A[3] के बजाय। तब उत्तर 3 + 6 + 2 + 2 = 13 है।

चरण

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:

x := k * x n := size of A for initialize i := 0, when i < n - k, update (increase i by 1), do:    t := A[i]    x := x + t return x

उदाहरण

बेहतर समझ के लिए निम्न कार्यान्वयन देखें:

#include <bits/stdc++.h> using namespace std; int solve(vector<int> A, int k, int x){    x = k * x;    int n = A.size();    for (int i = 0; i < n - k; i++){       int t = A[i];       x += t;    }    return x; } int main(){    vector<int> A = { 3, 6, 7, 10 };    int k = 2;    int x = 2;    cout << solve(A, k, x) << endl; }

इनपुट

{ 3, 6, 7, 10 }, 2, 2

आउटपुट

13

  1. C++ में ट्री में सभी सेब इकट्ठा करने का न्यूनतम समय C++ में ट्री में सभी सेब इकट्ठा करने का न्यूनतम समय

    मान लीजिए हमारे पास n वर्टेक्स वाला एक अनडायरेक्टेड ट्री है जो 0 से n-1 तक नंबर किए गए हैं, जिनके वर्टेक्स में कुछ सेब हैं। हम ट्री के एक एज पर चलने में 1 सेकंड खर्च करते हैं। हमें वर्टेक्स 0 से शुरू करके ट्री में सभी सेब इकट्ठा करने और इस वर्टेक्स पर वापस आने में खर्च होने वाले न्यूनतम समय (सेकंड म

  1. C++ में सभी कर्मचारियों को सूचित करने के लिए आवश्यक समय C++ में सभी कर्मचारियों को सूचित करने के लिए आवश्यक समय

    मान लीजिए एक कंपनी में n कर्मचारी हैं जिनमें प्रत्येक कर्मचारी के लिए एक यूनिक ID है। ये IDs 0 से n-1 तक हैं। कंपनी का हेड headID वाला है। प्रत्येक कर्मचारी का एक डायरेक्ट मैनेजर होता है जो मैनेजर ऐरे में दिया गया है जहां manager[i] i-वें कर्मचारी का डायरेक्ट मैनेजर है, manager[headID] = -1। यह भी

  1. - सभी कार्यों को पूरा करने के लिए न्यूनतम समय ज्ञात करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास nums नामक संख्याओं की एक सूची है जहां प्रत्येक मान एक कार्य को पूरा करने में लगने वाली समय इकाई निर्धारित करता है। हम किसी भी गैर-लगातार कार्यों को छोड़ सकते हैं, हमें सभी कार्यों को पूरा करने में लगने वाला न्यूनतम समय ढूंढना है। उदाहरण के लिए, यदि इनपुट nums = [11, 6, 8, 16] है