书店稿促销优惠活动:“卖 3 本免费 1 本”。即如果你买 3 本书,价格最便宜的那本书就不收钱。如果买很多书, 不同分组优惠的价格可能不同。比如,买 7 本书,价格分别是:10,3,2,4,6,4,9。 如果分组是: (10,3,2),(4,6,4)和(9),第一组免费价格 2,第二组免费价格 4,第三组不能免费。
现在,你买了 N 本书,请恰当分组(每组 1 本到 3 本),使得花费最少?
#include<bits/stdc++.h>
using namespace std;
int ss(int x,int y)
{
return 0;
}
int n,a[100001],s=0;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+1+n,ss);
for(int i=1;i<=n;i++)
if(i%3!=0) s+=a[i];
cout<<s;
return 0;
}