• 【 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 }
    道阻且长,行则将至。
  • 相关阅读:
    类似吸顶功能解决ios不能实时监听onscroll的触发问题
    js 移动端识别手机号码
    H5输入框实时记录文字个数
    C语言指针和数组
    PHP变量
    PHP 的引用计数基础知识
    PHP提高效率的经验
    JS内置Function对象详解
    Javascript小细节总结
    浅析C++中内存分配的方式
  • 原文地址:https://www.cnblogs.com/forfriendforfun/p/8031968.html
Copyright © 2020-2023  润新知