首页 > 试题广场 >

小美的加法

[编程题]小美的加法
  • 热度指数:3832 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小美有一个长度为 n 的数组,她想将这个数组进行求和,即 sum = a_1+a_2+...+a_n
小美可以使用一次魔法(也可以不使用),将其中一个加号变成乘号,使得 sum 最大。
求出最大的 sum

输入描述:
第一行输入一个整数 n
第二行输入 n 个整数表示数组 a
1 \leq n \leq 10^5
1 \leq a_i \leq 10^9


输出描述:
输出一个整数表示答案。
示例1

输入

6
1 1 4 5 1 4

输出

27

说明

小美可以将 4 和 5 之间的加号改成乘号。
1 + 1 + 4 * 5 + 1 + 4 = 27
n = int(input())
 
number =list(int(x) forx in input().split())
 
old_sum= sum(number)
 
test = 0
flag = 0
fori in range(n-1):
    mid = number[i] * number[i+1]
    ifmid>test:
        test = mid
        flag = i
 
new_sum = old_sum - (number[flag] + number[flag+1]) + (number[flag] * number[flag+1])
 
print(max(old_sum,new_sum))
发表于 2023-09-14 18:37:10 回复(0)
#Python
whileTrue:
    try:
        sum = 0
        n = int(input())
        a = list(map(int, input().split()))
        a = list(a)
        fori in range(n):
            sum += a[i]
        sum1 = sum
        fori in range(n - 1):
            ifsum1 + (a[i] * a[i+1]) - (a[i] + a[i+1] ) > sum:
                sum =sum1 + (a[i] * a[i+1]) - (a[i] + a[i+1] )
        print(sum)
 
    except:
        break
发表于 2023-09-06 23:58:35 回复(0)