您的位置:首页 > 其它

【CODEFORCES】 A. Expression

2015-08-07 19:18 260 查看
A. Expression

time limit per test
1 second

memory limit per test
256 megabytes

input
standard input

output
standard output

Petya studies in a school and he adores Maths. His class has been studying arithmetic expressions. On the last class the teacher wrote three positive integers a, b, c on
the blackboard. The task was to insert signs of operations '+' and '*',
and probably brackets between the numbers so that the value of the resulting expression is as large as possible. Let's consider an example: assume that the teacher wrote numbers 1, 2 and 3 on the blackboard. Here are some ways of placing signs and brackets:

1+2*3=7

1*(2+3)=5

1*2*3=6

(1+2)*3=9
Note that you can insert operation signs only between a and b,
and between b and c,
that is, you cannot swap integers. For instance, in the given sample you cannot get expression (1+3)*2.

It's easy to see that the maximum value that you can obtain is 9.

Your task is: given a, b and c print
the maximum value that you can get.

Input

The input contains three integers a, b and c,
each on a single line (1 ≤ a, b, c ≤ 10).

Output

Print the maximum value of the expression that you can obtain.

Sample test(s)

input
1
2
3


output
9


input
2
10
3


output
60


题解:DIV2的A题...算出所有情况,取最大值即可。

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int a,b,c,ans;

int main()
{
scanf("%d%d%d",&a,&b,&c);
ans=a+b+c;
if (ans<a+b*c) ans=a+b*c;
if (ans<(a+b)*c) ans=(a+b)*c;
if (ans<a*b+c) ans=a*b+c;
if (ans<a*(b+c)) ans=a*(b+c);
if (ans<a*b*c) ans=a*b*c;
printf("%d",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: