मान लीजिए कि हमारे पास तीन संख्याएँ a, b और c हैं। तीन छड़ें हैं जिनकी लंबाई ए, बी और सी है। एक मिनट में, हम एक मनमाना छड़ी चुन सकते हैं और उसकी लंबाई 1 सेमी बढ़ा सकते हैं, लेकिन हम छड़ें नहीं तोड़ सकते। हमें उनकी लंबाई बढ़ाने के लिए आवश्यक न्यूनतम मिनटों की संख्या गिननी होगी और हम उनसे एक त्रिभुज बना सकते हैं।
इसलिए, यदि इनपुट a =2 जैसा है; बी =3; c =5, तो आउटपुट 1 होगा, क्योंकि a या b में से किसी एक को 1 से बढ़ाकर हम एक त्रिभुज (a + b)> c बना सकते हैं। तो एक मिनट काफी है।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
Define an array A = { a, b, c } sort the array A return maximum of (A[2] - A[1] - A[0] + 1) and 0
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; int solve(int a, int b, int c) { vector<int> A = { a, b, c }; sort(A.begin(), A.end()); return max(A[2] - A[1] - A[0] + 1, 0); } int main() { int a = 2; int b = 3; int c = 5; cout << solve(a, b, c) << endl; }
इनपुट
2, 3, 5
आउटपुट
1