题目大意:
和zoj2883是同一道题
商品买3免1,问怎么买可以最大优惠。
解题思路:
简单排个序,三个一组,把每组最后一件商品价格相加就好了。
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
int t;
int n,num[20005];
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&num[i]);
}
qsort(num+1,n,sizeof(num[1]),cmp);
int sum=0;
for(int i=3;i<=n;i+=3)
{
sum=sum+num[i];
}
printf("%d\n",sum);
}
return 0;
}
301

被折叠的 条评论
为什么被折叠?



