测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A8943. Little Girl and Maximum Sum

编程题 普及/提高-

题目描述

The little girl loves the problems on array queries very much.

One day she came across a rather well-known problem: you've got an array of $n$ elements (the elements of the array are indexed starting from 1); also, there are $q$ queries, each one is defined by a pair of integers $l_{i}$ , $r_{i}$ $(1<=l_{i}<=r_{i}<=n)$ . You need to find for each query the sum of elements of the array with indexes from $l_{i}$ to $r_{i}$ , inclusive.

The little girl found the problem rather boring. She decided to reorder the array elements before replying to the queries in a way that makes the sum of query replies maximum possible. Your task is to find the value of this maximum sum.

输入格式

The first line contains two space-separated integers $n$ ( $1<=n<=2·10^{5}$ ) and $q$ ( $1<=q<=2·10^{5}$ ) — the number of elements in the array and the number of queries, correspondingly.

The next line contains $n$ space-separated integers $a_{i}$ ( $1<=a_{i}<=2·10^{5}$ ) — the array elements.

Each of the following $q$ lines contains two space-separated integers $l_{i}$ and $r_{i}$ ( $1<=l_{i}<=r_{i}<=n$ ) — the $i$ -th query.

输出格式

In a single line print a single integer — the maximum sum of query replies after the array elements are reordered.

Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

输入输出样例

输入 #1
3 3
5 3 2
1 2
2 3
1 3
输出 #1
25
输入 #2
5 3
5 2 4 1 3
1 5
2 3
2 3
输出 #2
33
上一题 去做题 下一题