首页 > 试题广场 >

放它一马

[编程题]放它一马
  • 热度指数:2688 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}小美会按照编号从小到大的顺序依次遇到 n 只怪物(编号为 1 \sim n),怪物 i(1 \leqq i \leqq n) 的生命为 a_i

\hspace{15pt}对于每只怪物,小美都可以选择放走Ta或者击败Ta。
\hspace{23pt}\bullet\,如果放走怪物,小美将获得 i 点经验值。
\hspace{23pt}\bullet\,如果击败怪物,小美将获得 a_i 点经验值,同时将额外获得 (x \operatorname{mod} 10) \times a_i 点经验值,x 为击败怪物数量(包括这一个怪物)。

\hspace{15pt}小美最多可以从这 n 个怪物中获得的经验值。

输入描述:
\hspace{15pt}第一行输入一个整数 n(1 \leqq n \leqq 2\times 10^5) 表示怪物数。
\hspace{15pt}第二行输入 n 个整数 a_i(1 \leqq a_i \leqq 10^9) 表示怪物的生命。


输出描述:
输出一个整数表示小美可以获得最高的经验值。
示例1

输入

3
5 3 2

输出

27

说明

\hspace{15pt}第一个怪物选择击败获得5+5 \times 1=10 的经验值,第二个怪物选择击败获得 3+3\times2=9 的经验值,第三只怪物选择击败获得 2+2\times3=8 的经验值,总共获得 27 的经验值。
头像 Silencer76
发表于 2025-08-11 21:26:31
题目链接 放它一马 题目描述 小美按顺序遇到 只怪物(编号为 ),第 只怪物的生命值为 。对于每只怪物,小美有两个选择: 放走:获得 点经验值。 击败:获得 点基础经验值,并额外获得 点奖励经验值,其中 是到目前为止累计击败的怪物总数(包括当前这只)。 请求出小美在处理完所有 只怪 展开全文
头像 饥饿的中国人offer多多
发表于 2025-08-22 16:47:44
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new S 展开全文
头像 有胆量的柯基在学习
发表于 2025-08-20 12:20:20
#include <bits/stdc++.h> using namespace std; using int64 = long long; int main() { int n; cin >> n; vector<int64> a(n 展开全文
头像 找工作的葡萄
发表于 2025-08-17 20:53:29
#include <algorithm> #include <climits> #include <iostream> #include <vector> using namespace std; int main() { int n; 展开全文