#3976. [GESP2409 五级] ⼩杨的武器

[GESP2409 五级] ⼩杨的武器

⼩杨的武器

题目描述

⼩杨有 种不同的武器,他对第 种武器的初始熟练度为 。 ⼩杨会依次参加 场战⽃,每场战⽃⼩杨只能且必须选择⼀种武器使⽤,假设⼩杨使⽤了第 种武器参加了第 场 战⽃,战⽃前该武器的熟练度为 ,则战⽃后⼩杨对该武器的熟练度会变为 。需要注意的是, 可能是正 数, 或负数,这意味着⼩杨参加战⽃后对武器的熟练度可能会提⾼,也可能会不变,还有可能降低。 ⼩杨想请你编写程序帮他计算出如何选择武器才能使得 场战⽃后,⾃⼰对 种武器的熟练度的最⼤值尽可能⼤。

输入格式

第⼀⾏包含两个正整数 ,含义如题⾯所⽰。 第⼆⾏包含 个正整数 ,代表⼩杨对武器的初始熟练度。 第三⾏包含 个正整数 ,代表每场战⽃后武器熟练度的变化值。

输出格式

输出⼀个整数,代表 场战⽃后⼩杨对 种武器的熟练度的最⼤值最⼤是多少。 3.1.4 样例1 1 2 2 2 9 9 3 1 -1 1 10 ⼀种最优的选择⽅案为,第⼀场战⽃⼩杨选择第⼀种武器,第⼆场战⽃⼩杨选择第⼆种武器。 子任务编号 数据点占比 1 20% 2 20% 3 60% 对于全部数据,保证有 , 。 3.1.5 参考程序 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N = 100010; 4 5 int a[N], c[N]; 6 7 int main(){ 8 int n, m; 9 cin>>n>>m; 10 int mx = -10000; 11 for (int i = 1; i <= n; ++ i){ 12 cin>>c[i]; 13 mx = max(mx,c[i]); 14 } 15 for (int i = 1; i <= m; ++ i){ 16 cin>>a[i]; 17 } 18 for (int i = 1; i <= m; ++ i){ 19 if (n == 1 || a[i] > 0){ 20 mx += a[i]; 21 } 22 } 23 cout<<mx<<"\n"; 24 return 0; 25 }

样例输入 #1

1 2 2
2 9 9
3 1 -1
1 10
⼀种最优的选择⽅案为,第⼀场战⽃⼩杨选择第⼀种武器,第⼆场战⽃⼩杨选择第⼆种武器。
子任务编号 数据点占比
1 20%
2 20%
3 60%

样例输出 #1


数据范围

见题目描述

知识点与难度

本题涉及的知识点从属于 GESP 5级,难度等级:⭐⭐⭐⭐ 。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 / 特殊性质
2 15 9~11 Hack
3 30 12~20 中大规模
4 25 21~25 随机回归

生测试数据后,按实际 subtask 分组改写上表。