题目描述
给定一个长度为 n 的整数数组 a1,a2,…,an。
现在,需要你对数组中的每个元素进行分类。
每个元素要么划分至 b 类,要么划分至 c 类。
我们设所有 b 类元素的相加之和为 sumb,所有 c 类元素的相加之和为 sumc。
请你计算 sumb−sumc 的最大可能值。
如果某类元素的个数为 0,则该类元素的相加之和视为 0。
输入格式
第一行包含整数 n。
第二行包含 n 个整数 a1,a2,…,an。
输出格式
输出一个整数,表示 sumb−sumc 的最大可能值。
输入输出样例
输入
3
1 -2 0
输出
3
说明/提示
前三个测试点满足 1≤n≤10。
所有测试点满足 1≤n≤100,−100≤ai≤100。
考虑把所有正数放在一堆,所有负数放在一堆,相减即可。
也就是输出所有数的绝对值总和即可
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int n, a[100005], ans;
int main()
{
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i], ans += abs(a[i]);
cout << ans << endl;
}
把你写的代码发出来,帮你查看一下问题。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!