白駿1712損益バランスポイント.cpp
1446 ワード
ソースコード
#include <iostream>
using namespace std;
int main(){
long long a,b,c;
cin >> a >> b >> c;
if(b >= c){
cout << -1 << endl;
return 0;
}
long long BreakEvenPoint = (int)(a / (c-b));
cout << BreakEvenPoint + 1 << endl;
return 0;
}
long long a,b,c:固定費用、可変費用、販売費用
long breakEvenPoint:損益バランスポイント
このコードの問題は、breakeventpoint値を1つ増加するたびにタイムアウトすることです.そのため、私たちはいつ利益を生むかを一つの方法にしなければなりません.
while(1){
if(TotalPrice >= TotalIncome){
BreakEvenPoint++;
}else{
break;
}
//cout << TotalPrice << " " << TotalIncome << endl;
TotalPrice = a + b*BreakEvenPoint;
TotalIncome = c*BreakEvenPoint;
}
a+b x BreakEvenPoint>=c x BreakEvenPointはBreakEvenPointの値が必要なので、BreakEvenPointについて作成します.
long long : -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
=>範囲に問題があると思ったらlong longと書きましょう
数学に関するアルゴリズムの問題は、まず公式ができるかどうかを確認することを学ばなければならない.
Reference
この問題について(白駿1712損益バランスポイント.cpp), 我々は、より多くの情報をここで見つけました https://velog.io/@hello_hidi/백준-1712손익분기점.cppテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol