HJ137 乘之
题目题解(6)讨论(7)排行较难 通过率33.95% 时间限制1秒 空间限制1024M知识点模拟校招时部分企业笔试将禁止编程题跳出页面为提前适应练习时请使用在线自测而非本地IDE。描述对于给定的由 nn 个整数组成的数组 {a1,a2,…,an}{a1,a2,…,an}小龙和小蛇借助于此数组进行游戏。游戏步骤如下1. 1.小龙选择一个非空区间 [a,b][a,b]2. 2.小蛇选择一个非空区间 [c,d][c,d]3. 3.将选中的区间中的全部元素均乘上 kk得到数组 a′a′游戏只进行一轮三个步骤结束后立即停止。小龙想要让数组 a′a′ 的元素之和尽可能大小蛇想要让数组 a′a′ 的元素之和尽可能小。假设双方都采取的是最优策略请你计算操作后得到的数组 a′a′ 的元素之和。请注意区间 [a,b][a,b] 和 [c,d][c,d] 可以相交但只结算一次即若某一个位置被小龙和小蛇同时选中依旧只乘一次。输入描述每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≦T≦100)T(1≦T≦100) 代表数据组数每组测试数据描述如下第一行输入两个整数 n,k(1≦n≦105; −100≦k≦100)n,k(1≦n≦105; −100≦k≦100) 代表数组中的元素数量、乘数。第二行输入 nn 个整数 a1,a2,…,an(−106≦ai≦106)a1,a2,…,an(−106≦ai≦106) 代表数组元素。除此之外保证单个测试文件的 nn 之和不超过 2×1052×105。输出描述对于每一组测试数据新起一行。输出一个整数代表操作后数组 a′a′ 的元素之和。示例1输入3 2 4 1 1 6 0 1 1 4 5 1 4 4 -1 -2 1 -10 3复制输出8 0 8复制说明对于第一组测试数据小龙的最优策略是选择区间 [1,2][1,2]一旦这么做了无论小蛇选择的区间是什么都不会影响最终答案。 对于第三组测试数据其中一种最优策略为龙选择区间 [1,3][1,3]小蛇选择区间 [4,4][4,4]。#include iostream #include vector using namespace std; void solve(){ int n, k; cin n k; vectorint a(n); long long sum 0; for(auto num : a){ cin num; sum num; } cout sum * k endl; } int main() { int T; cin T; while(T--){ solve(); } return 0; } // 64 位输出请用 printf(%lld)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2432953.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!