2046: [蓝桥杯2022初赛] 重新排序

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:346 通过:121

题目描述

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

输入格式

输入第一行包含一个整数n。
第二行包含n个整数A1, A2, ..., An,相邻两个整数之间用一个空格分隔。
第三行包含一个整数m表示查询的数目。
接下来m行,每行包含两个整数Li、Ri ,相邻两个整数之间用一个空格分隔。
对于30% 的评测用例,n,m ≤ 50 ;
对于50% 的评测用例,n,m ≤ 500 ;
对于70% 的评测用例,n,m ≤ 5000 ;
对于所有评测用例,1 ≤ n,m ≤ 10^5,1 ≤ Ai ≤ 10^6,1 ≤ Li ≤ Ri ≤ n 。

输出格式

输出一行包含一个整数表示答案。

输入样例 复制

5
1 2 3 4 5
2
1 3
2 5

输出样例 复制

4

数据范围与提示

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