a, b, c দৈর্ঘ্যের তিনটি স্টিক। প্রতি মিনিটে একটি স্টিক ১ সেমি বাড়ানো যায়। ত্রিভুজ বানাতে ন্যূনতম মিনিট বের করুন।
সমাধানের ধাপসমূহ
স্ট্রিং সর্ট করুন। ত্রিভুজের শর্ত: সবচেয়ে বড় < অন্য দুটির যোগফল। প্রয়োজনীয় বৃদ্ধি = max(0, largest - middle - smallest + 1)।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int solve(int a, int b, int c) {
vector A = {a, b, c};
sort(A.begin(), A.end());
return max(A[2] - A[1] - A[0] + 1, 0);
}
int main() {
int a = 2, b = 3, c = 5;
cout << solve(a, b, c) << endl;
return 0;
}
ইনপুট
2, 3, 5
আউটপুট
1
ব্যাখ্যা
সর্টেড: [2,3,5]। ৫ < ২+৩ নয়। ৫ - ৩ - ২ + ১ = ১ মিনিট লাগবে।