问题描述:

ykc的班级准备举行班级聚会,而身为生活委员的ykc要为此准备好零食,这天,ykc来到了学校的新起点超市,在转了3个小时候,ykc决定买以下所有的n种零食,其中每种零食的价格可能不一样,而刚好超市有活动,每买m种零食,就可以任选一种不超过k元的零食并免费赠送,而ykc想尽可能的省钱,求ykc的最小花费

输入:

输入包含多组数据,以EOF结束,

每组首先输入三个正整数,n,m,k,其中(n,m,k<100)

后输入n个数表示每种零食的价格ai(ai<1000)

输出:

输出一个正整数,表示最小花费

样例输入:

4 3 2
1 2 3 4
7 3 8
1 2 3 4 5 6 7

样例输出:

8
21

原因分析:

1. 计算免单个数时 应该n/m+1   而不是 n/m   举个例子:免单条件是买够3件   你若买3件,则没有可以免的,只有买4件才能免一件

2.循环变量第一次忘了初始化,后来才发现;

3.减去免单的金额时,忘了标记被免单过的商品,导致第二次重复免单,出现错误


解决方案:


#include<stdio.h>
#include<math.h>
int cmp(const void*a,const void*b)
{return (*(int*)b - *(int*)a);
}
int main()
{int n,m,k,s=0,i,p,j,f;while(scanf("%d%d%d",&n,&m,&k)!=EOF){int a[102]={0};   //多实例一定要注意循环变量的初始s=0;f=-1;for(i=0;i<n;i++){scanf("%d",&a[i]);   s+=a[i];}qsort(a,n,sizeof(int),cmp);p=n/(m+1)==0?0:n/(m+1);   //不能写成 n/m  要把免单的一个也算进mif(p<=0)printf("%d\n",s);else{for(i=0;i<n;i++)if(a[i]<=k){f=i;     //找到小于免单金额的那个位置break;}if(f!=-1){for(j=1;j<=p;j++)  // j记录免单次数for(i=f;i<n;i++){if(a[i]!=-1){s-=a[i];a[i]=-1; //第二个for每次都要从f重新开始,所以要避免重复减去免单的商品break;   //减一次就要退出循环}}}printf("%d\n",s);}}return 0;
}

HAUT OJ 1231: ykc买零食相关推荐

  1. 1231: ykc买零食

    1231: ykc买零食 时间限制: 1 Sec  内存限制: 128 MB 题目描述 ykc的班级准备举行班级聚会,而身为生活委员的ykc要为此准备好零食,这天,ykc来到了学校的新起点超市,在转了 ...

  2. 关于小学和哥哥买零食的琐碎回忆

    人越长大,总会去回忆小时候的事情,我就是这样一个喜欢不断后悔.遗憾.回忆.怀念的人 对于零食,我和哥哥可谓是爱之入骨.也许是因为爸爸也是个吃货,所以我们几个小孩都特别喜欢吃零食,现在也不例外. 如今能 ...

  3. hihoCoder 买零食

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...

  4. hihocoder买零食

    买零食 Time Limit:5000MS     Memory Limit:262144KB     64bit IO Format:%lld & %llu Submit Status Pr ...

  5. [hihoCoder] 买零食

    http://hihocoder.com/contest/hiho139/problem/1?sid=992251 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一 ...

  6. 买零食 HihoCoder - 1272

    小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个&qu ...

  7. hihoCoder 1272 买零食

    #1272 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰 ...

  8. HihoCoder - 1272 买零食

    时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...

  9. hihoCoder--139周 买零食

    题目1 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著 ...

最新文章

  1. OAuth 2 实现单点登录,通俗易懂!
  2. 电气simulink常用模块_16种常用模块电路分析,电气工程师的必备
  3. javascript极简时间扩展类
  4. css之px自动转rem—sublime 插件CSSREM
  5. 25/100. Palindrome Linked List
  6. 012.Adding a New Field --【添加一个新字段】
  7. 51CTO博客首页看到我了
  8. mysql_query
  9. 几种常用排序(归并,希尔,快排,堆排.......)
  10. Android 资源(resource)学习小结
  11. C++实现 电子邮件客户端程序(简易版)
  12. Jade模板引擎教程
  13. ffmpeg 用 -ss指定起始时间
  14. java cropper_Image Cropper 的 JAVA 支持
  15. centos7.4上tecplot 奔溃 用python时
  16. 好扑科技技术副总裁戎朋:从海豚浏览器服务器端研发主管到区块链,揭秘区块链技术之路...
  17. maven - filtering标签
  18. 成功解决Fatal error in launcher: Unable to create process using ‘“…python.exe“ “…jupyter.exe“ notebook‘
  19. Android下载网上图片
  20. PHP获取客户端真实 IP 地址

热门文章

  1. php做扫描功能,phpscanphp后门扫描神器
  2. win10c语言弹出框,win10系统启动程序时弹出异常代码c0000005的解决技巧
  3. mos管 rl_MOS管放大电路
  4. 【学习笔记】:Multi-mode Transformer Transducer with Stochastic Future Context
  5. 交警那不了了之的办事,涉案人员逃逸至今仍没归案
  6. unity2D横版游戏教程10-场景控制
  7. 【XML和Java】手写Java程序引用xsd验证xml
  8. 基于网易企业邮箱的JavaMail配置
  9. Java常见易错问题记录
  10. 165体重_女性身高155cm—165cm,体重多少合适?有个实情告诉你,别瞎减肥