题目描述链接下载:
链接:https://pan.baidu.com/s/1b2lWesHSIVuJQKrLSFQ1mQ
提取码:345q
做这道题首先要了解什么是后缀表达式(考前给同学说要看看后缀,但是自己没重视)
#include <bits/stdc++.h>
#define LL long long
using namespace std;
LL arr[100010];
int main()
{
int n,m,n1=0;
LL ans=0;
cin >> n>>m;
for(int i=0; i<n+m+1; i++)
{
cin >> arr[i];
if(arr[i]<0)
n1++;
}
sort(arr,arr+n+m+1);
if(m==0)//全是加号
{
for(int i=n+m; i>=0; i--)
{
ans+=arr[i];
}
}
else if(m==1)//n1==0
{
for(int i=n+m; i>=0; i--)
{
ans+=abs(arr[i]);
}
if(n1==0)
{
ans=ans-2*arr[0];
}
}
cout << ans <<endl;
return 0;
}