2690 问题 D: 蓝桥杯2022年第十三届省赛真题-重新排序

时间限制: 1s 内存限制: 256MB 提交: 2882 解决: 615
题目描述

给定一个数组 A 和一些查询 Li , Ri,求数组中第 Li 至第 Ri 个元素之和。

小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可以增加多少?

输入

输入第一行包含一个整数 n。

第二行包含 n 个整数 A1, A2, · · · , An,相邻两个整数之间用一个空格分隔。

第三行包含一个整数 m 表示查询的数目。

接下来 m 行,每行包含两个整数 Li、Ri ,相邻两个整数之间用一个空格分隔。

输出
输出一行包含一个整数表示答案。
样例输入
5
1 2 3 4 5
2
1 3
2 5
样例输出
4
提示

原来的和为 6 + 14 = 20,重新排列为 (1, 4, 5, 2, 3) 后和为 10 + 14 = 24,增加了 4。

对于 30% 的评测用例,n, m ≤ 50 ;

对于 50% 的评测用例,n, m ≤ 500 ;

对于 70% 的评测用例,n, m ≤ 5000 ;

对于所有评测用例,1 ≤ n, m ≤ 105,1 ≤ Ai ≤ 106,1 ≤ Li ≤ Ri ≤ 106

#include<stdio.h>
int main()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

比赛公告

第十三届蓝桥杯大赛软件赛省赛 Python 大学 A 组
C题

质因数个数

D题

矩形拼接

E题

消除游戏

F题

重新排序

G题

全排列的价值

H题

最长不下降子序列

I题

最优清零方案

J题

数的拆分

注意事项:

1. 对于编程题目,不能使用诸如绘图、硬件操作或与操作系统相关的 API。

2. 所有依赖的模块(如 math)必须明确地在源文件中 import。

3. 只能使用 python 自带的模块,使用 pip 等安装的扩展模块无法使用。

4. 提交时,注意选择使用Python语言。


本比赛结束,依旧可以提交,见题集2022年第十三届蓝桥杯大赛软件类省赛Python大学A组真题