2025-11-02 01:54:44 动漫联动

[Kubic] Addition 题解

[Kubic] Addition 题解

mzyc_jx

·

2021-11-05 18:02:42

·

题解

Addition

前言:

这是本蒟蒻AC的第二道月赛题,这道题是真的简单,我骗分骗着骗着就AC了。

思路:

当 y\geq 0 时,x+y\geq x-y

当 y\leq 0 时,x+y\leq x-y

综上,可以发现 x+|y| 最大。

所以贪心策略为:加每个数的绝对值(第一个数不行)。

注意:

第一个数不能加他的绝对值!

sum 记得开 long long !

CODE:

#include

using namespace std;

int a[100001];

int main()

{

ios_base::sync_with_stdio(0);

cin.tie(0);

cout.tie(0);//比赛时用来加速

int n,b,c;

cin>>n;

cin>>a[1];//第一个数要单独判断(可能为负)

long long sum=a[1];

for(int i=2;i<=n;i++)

{

cin>>a[i];

sum+=abs(a[i]);//累加绝对值

}

cout<

return 0;

}

十年OI一场空,不开long long见祖宗!