#include <bits/stdc++.h>
using namespace std;
int a[100005],n;
long long s;
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
s+=a[i];
}
sort(a,a+n,greater<int>());
for(int i=2;i<n;i+=3)
s-=a[i];
cout<<s;
return 0;
}
买玩具
Description
玩具店有个活动,买2个送1个:3个玩具只要付较贵的2个玩具的钱就可以了。举个例子:
10 3 2 4 6 4 9,如果这样组合(10, 3, 2), (4, 6, 4), (9),就在第一个括号中省下2元,第二个括号中省下4元,但第三个括号不能省了,因为只有一个玩具。
苏海是个懂事的孩子,他想尽可能的为家里省钱,他能成功吗?
(注意:玩具组合的数量可以是1或者2或者3 )
Input
输入的第一行一个整数N,表示玩具的数量。
接下来的N行,每行包含一个整数, 表示每个玩具的价格。
Output
一个数,表示最终要为这些玩具付出的最小价格。
Sample Input 1
4 3 2 3 2
Sample Output 1
8
Sample Input 2
6 6 4 5 5 5 5
Sample Output 2
21
Hint
【样例 1 解释】分组(3,2,2)(3)
【样例 2 解释】分组(6,4,5)(5,5,5)
Source