HAUT OJ 1231: ykc买零食
问题描述:
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买零食相关推荐
- 1231: ykc买零食
1231: ykc买零食 时间限制: 1 Sec 内存限制: 128 MB 题目描述 ykc的班级准备举行班级聚会,而身为生活委员的ykc要为此准备好零食,这天,ykc来到了学校的新起点超市,在转了 ...
- 关于小学和哥哥买零食的琐碎回忆
人越长大,总会去回忆小时候的事情,我就是这样一个喜欢不断后悔.遗憾.回忆.怀念的人 对于零食,我和哥哥可谓是爱之入骨.也许是因为爸爸也是个吃货,所以我们几个小孩都特别喜欢吃零食,现在也不例外. 如今能 ...
- hihoCoder 买零食
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...
- hihocoder买零食
买零食 Time Limit:5000MS Memory Limit:262144KB 64bit IO Format:%lld & %llu Submit Status Pr ...
- [hihoCoder] 买零食
http://hihocoder.com/contest/hiho139/problem/1?sid=992251 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一 ...
- 买零食 HihoCoder - 1272
小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖部买零食的时候,小Ho由于不懂事买了好一大堆东西,被小卖部姐姐给了一个&qu ...
- hihoCoder 1272 买零食
#1272 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰 ...
- HihoCoder - 1272 买零食
时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著称.第一次去一教小卖 ...
- hihoCoder--139周 买零食
题目1 : 买零食 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho很喜欢在课间去小卖部买零食.然而不幸的是,这个学期他又有在一教的课,而一教的小卖部姐姐以冷若冰霜著 ...
最新文章
- OAuth 2 实现单点登录,通俗易懂!
- 电气simulink常用模块_16种常用模块电路分析,电气工程师的必备
- javascript极简时间扩展类
- css之px自动转rem—sublime 插件CSSREM
- 25/100. Palindrome Linked List
- 012.Adding a New Field --【添加一个新字段】
- 51CTO博客首页看到我了
- mysql_query
- 几种常用排序(归并,希尔,快排,堆排.......)
- Android 资源(resource)学习小结
- C++实现 电子邮件客户端程序(简易版)
- Jade模板引擎教程
- ffmpeg 用 -ss指定起始时间
- java cropper_Image Cropper 的 JAVA 支持
- centos7.4上tecplot 奔溃 用python时
- 好扑科技技术副总裁戎朋:从海豚浏览器服务器端研发主管到区块链,揭秘区块链技术之路...
- maven - filtering标签
- 成功解决Fatal error in launcher: Unable to create process using ‘“…python.exe“ “…jupyter.exe“ notebook‘
- Android下载网上图片
- PHP获取客户端真实 IP 地址
热门文章
- php做扫描功能,phpscanphp后门扫描神器
- win10c语言弹出框,win10系统启动程序时弹出异常代码c0000005的解决技巧
- mos管 rl_MOS管放大电路
- 【学习笔记】:Multi-mode Transformer Transducer with Stochastic Future Context
- 交警那不了了之的办事,涉案人员逃逸至今仍没归案
- unity2D横版游戏教程10-场景控制
- 【XML和Java】手写Java程序引用xsd验证xml
- 基于网易企业邮箱的JavaMail配置
- Java常见易错问题记录
- 165体重_女性身高155cm—165cm,体重多少合适?有个实情告诉你,别瞎减肥