蓝桥云课 鸡哥的购物挑战
注意这里价格能取负数,先用sort从小到大排序,每次两个两个的加上商品价格,大于0,加到ans,小于等于0弃掉
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N=2e5+1;
ll a[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
ll ans = 0;
sort(a+1,a+1+n);
for (int i=n; i>=1 && i-2>= 1;i-=2)
{
ll b = a[i] + a[i-1];
if(b>=0)
ans+=b;
else break;
}
cout<<ans<<'\n';
return 0;
}