#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 分组改写上表。