OJ 买书

Posted Life is Binary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了 OJ 买书相关的知识,希望对你有一定的参考价值。

买书

  小李想去书店买几本书。正巧书店有促销活动:每买 3 本书,3 本书中价格最便宜的一本免费。也就是说,蒜头君可以把每 3 本书分一组来购买,每组价格最便宜的一本是免费的。

  现在蒜头君计划买 n 本书,已知每本书的价格,请问蒜头君最少需要花多少钱。

  输入第一行是一个正整数 N(N≤100,000),表示蒜头君一共想买 N 本书。

  接下来输入 N 行,每行输入一个正整数 Ci(Ci≤100,000),表示每本书的价格。

  输出一行,输出一个整数,表示蒜头君最少需要花的钱。

7
10
3
2
4
6
4
9
29
暴力:(会超时)
 1 #include <stdio.h>
 2 
 3 int main(){
 4     int n;
 5     int i = 0,j,k;
 6     int temp;
 7     int a[100000];
 8 
 9     scanf("%d",&n);
10     while(i<n){
11         scanf("%d",&a[i]);
12         i++;
13     }
14     for(j = 0; j < i; j++){
15         for(k = 0; k < i - j - 1; k++){
16             if(a[k] < a[k+1]){
17                 temp   = a[k+1];
18                 a[k+1] = a[k];
19                 a[k]   = temp;
20             }
21         }
22     }
23     temp = 0;
24     for(j = 0; j < i; j++){
25         if((j+1) % 3 != 0)
26             temp += a[j];
27     }
28     printf("%d",temp);
29     return 0;
30 }

 

以上是关于 OJ 买书的主要内容,如果未能解决你的问题,请参考以下文章

6049:买书 (完全背包)

(动态规划)6049:买书

买书实验

动态规划——买书问题

求买书的最低费用

买书不读是一种什么病?