题目大意:
思路分析:
1.感受
这道题题面虽然提及后缀表达式的概念,但是只要你明白后缀表达式就是中缀表达式的添加括号的另一种表达方式,所以这道题的坑点有二:1.数据范围要注意,还有一点就是负号的在加上括号后的作用范围会扩大;
2.分析
这道题的分析如图:
注意下面的图中满足a1…a6由大到小递减:
Ac代码
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
const int N=1e5+10;
ll a[N*2];
int n,m;
int main()
{
cin>>n>>m;
int k=n+m+1;
for(int i=0;i<k;i++)
cin>>a[i];
sort(a,a+k);
ll res=0;
if(!m){
for(int i=0;i<k;i++)
res+=a[i];
}
else{
res=abs(a[k-1]-a[0]);
for(int i=1;i<k-1;i++)
res+=abs(a[i]);
}
cout<<res<<endl;
return 0;
}