随便写写,然后写D的题解。
A. Partition
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given a sequence a consisting of n integers. You may partition this sequence into two sequences b and c in such a way that every element belongs exactly to one of these sequences.
Let B be the sum of elements belonging to b, and C be the sum of elements belonging to c (if some of these sequences is empty, then its sum is 0). What is the maximum possible value of B - C?
Input
The first line contains one integer n (1 ≤ n ≤ 100) — the number of elements in a.
The second line contains n integers a1, a2, ..., an ( - 100 ≤ ai ≤ 100) — the elements of sequence a.
Output
Print the maximum possible value of B - C, where B is the sum of elements of sequence b, and C is the sum of elements of sequence c.
Examples
input
Copy
3
1 -2 0
output
3
input
Copy
6
16 23 16 15 42 8
output
120
Note
In the first example we may choose b = {1, 0}, c = { - 2}. Then B = 1, C = - 2, B - C = 3.
In the second example we choose b = {16, 23, 16, 15, 42, 8}, c = {} (an empty sequence). Then B = 120, C = 0, B - C = 120.
代码:
1 #include<iostream>
2 #include<cstring>
3 #include<cstdio>
4 #include<cmath>
5 #include<algorithm>
6 #include<cstdlib>
7 using namespace std;
8 typedef long long ll;
9 const int maxn=1e5+10;
10 int main(){
11 int n;
12 scanf("%d",&n);
13 int sum=0;
14 for(int i=0;i<n;i++){
15 int x;
16 scanf("%d",&x);
17 sum+=abs(x);
18 }
19 printf("%d
",sum);
20 }
本文介绍了一道关于序列划分的问题,目标是将给定的整数序列分成两个子序列,使得一个子序列的元素和与另一个子序列的元素和之差达到最大值。通过遍历并计算每个元素的绝对值来求解此问题。
304

被折叠的 条评论
为什么被折叠?



