编程题
### 问题描述 有 $n$ 个整数,可能为正数、$0$ 或负数。有 $m$ 次操作,每次操作处理一个区间 $[L_i, R_i]$,使得第 $L_i $个 $\sim$ 第 $R_i$ 个数每个数的符号变反,对 $0$ 而言,符号变反后还是 $0$。数的序号从 $1$ 开始计起。 现在允许任意调整这 $n$ 个数的顺序。问如何调整数的顺序后,使得 $m$ 次操作后这 $n$ 个数之和达到最大,以及如何调整数的顺序后,使得 $m$ 次操作后这 $n$ 个数之和达到最小。 ### 输入格式 输入数据第一行为两个整数 $n$ 和 $m$,$1\le n, m\le 10^5$,分别表示数的个数和操作的次数。 第二行为 $n$ 个整数,这 $n$ 个整数均不超过 int 型范围。 接下来有 $m$ 行,每行为两个正整数 $L_i, R_i$,$1\le L_i\le R_i\le n$,表示一次操作的区间。 ### 输出格式 输出两个整数,表示调整 $n$ 个整数的顺序,执行 $m$ 次操作后,$n$ 个数之和的最大值和最小值,用空格隔开。 ### 样例输入 ```txt 5 2 -9 20 -27 13 129 1 3 2 5 ``` ### 样例输出 ```txt 172 -198 ```
查看答案
赣ICP备20007335号-2