题库首页 › 蓝桥杯大赛(C语言) › 题目 10126

给定一个由n个整数组成的数列,请将其分割成左右两部分, 要求左半部分子数列的和与右半部分子数列的和最接近,请输出这两部分子数列和的差值(取非负值)。 例如:n=5,数列中的5个整数分别是2、1、3、4、3,将其分割成左右两部分,左半部分是2、1、3,右半部分是4、 3;此时两部分子数列的和最接近,差值为1。 输入描述 第一行输入一个整数n(2≤n≤100000) 第二行输入n个整数(1≤整数≤1000),整数之间以一个空格隔开 输出描述 输出一个整数,表示这两部分子数列和的差值(取非负值) 样例输入: 5 2 1 3 4 3 样例输出: 1

正确答案:参考程序(Python):数列分割。前缀和,枚举分割点使|总-2*前缀|最小。样例2 1 3 4 3→1。核心:前缀和最小差值。

试卷来源:202403(第15届)蓝桥杯C++编程青少组(选拔赛_中高级)真题

本卷相关题目

在线做题 同科目题库