本题仅需两个必要筛选条件:
- Masha不能比中熊大(或等),否则将会爱上小车之外的其他车;
- Masha与小熊的体积不能相差超过二倍,否则不能保证二者都爱小车。
否则无解。
上述条件均满足后,大车和中车放缩至二倍,并输出Masha和小熊体积最大值即可满足题意,代码如下:
#include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
if (d >= b || max(c,d) > min(c,d)*2){
cout << -1 << endl;
}
else {
cout << a*2 << " " << b*2 << " " << max(c,d) << endl;
}
return 0;
}