ধরুন আমাদের তিনটি সংখ্যা a, b এবং c আছে। তিনটি লাঠি আছে যার দৈর্ঘ্য a, b এবং c। এক মিনিটে, আমরা একটি নির্বিচারে লাঠি বাছাই করতে পারি এবং এর দৈর্ঘ্য 1 সেন্টিমিটার বাড়াতে পারি, কিন্তু আমরা লাঠি ভাঙতে পারি না। তাদের দৈর্ঘ্য বাড়ানোর জন্য আমাদের ন্যূনতম মিনিটের সংখ্যা গণনা করতে হবে এবং আমরা তাদের সাথে একটি ত্রিভুজ গঠন করতে পারি।
সুতরাং, যদি ইনপুটটি a =2 এর মত হয়; b =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