核心内容摘要
Agent 工程师需要懂的开发技术
练习项目问题描述小明是一名勇敢的冒险家他在一次探险途中发现了一组神秘的宝石这些宝石的价值都不同。
但是他发现这些宝石会随着时间的推移逐渐失去价值因此他必须用规定的次数对它们进行处理。
小明想要最大化这些宝石的总价值。
他有两种处理方式选出两个最小的宝石并将它们从宝石组中删除。
选出最大的宝石并将其从宝石组中删除。
现在给你小明手上的宝石组请你告诉他用规定的次数最大化宝石的总价值是多少。
输入格式第一行包含一个整数 t表示数据组数。
对于每组数据第一行包含两个整数 n 和 k表示宝石的数量和规定的处理次数。
第二行包含 n 个整数 a1,a2,...,an表示每个宝石的价值。
输出格式对于每组数据输出一个整数表示用规定的次数能够最大化宝石的总价值。
选择课程在蓝桥云课中选择课程《16届蓝桥杯省赛无忧班CC 组4期》选择
“基础算法”编程21并开始练习。
开始练习1源码#includebits/stdc.husing namespace std;using lllong long;int main(){int t;cin t;while(t--){int n, k;cin n k;vectorll a(n), sum(n 1,
;for(int i 0;i n;i) cin a[i];sort(a.begin(), a.end());for(int i 1;i n;i) sum[i] sum[i - 1] a[i - 1];ll ans 0;for(int i 0;i k;i){ans max(ans, sum[n - (k - i)] - sum[2 * i]);}cout ans \n;}return 0;}3检验结果对此代码进行检验检验后无报错提交此代码判题结果为正确100分。
4练习心得注意每段代码末尾的分号是否存在如不存在则需即使补充输入法是否切换为英语模式语法是否错误。