Souvenir

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)

Total Submission(s): 416    Accepted Submission(s): 270

Problem Description
Today is the 1st anniversary of BestCoder. Soda, the contest manager, wants to buy a souvenir for each contestant. You can buy the souvenir one by one or set by set in the shop. The price for a souvenir is p yuan
and the price for a set of souvenirs if q yuan.
There's m souvenirs
in one set.



There's n contestants
in the contest today. Soda wants to know the minimum cost needed to buy a souvenir for each contestant.
 
Input
There are multiple test cases. The first line of input contains an integer T (1≤T≤105),
indicating the number of test cases. For each test case:



There's a line containing 4 integers n,m,p,q (1≤n,m,p,q≤104).
 
Output
For each test case, output the minimum cost needed.
 
Sample Input
  1. 2
  2. 1 2 2 1
  3. 1 2 3 4
 
Sample Output
  1. 1
  2. 3
  3. Hint
  4. For the first case, Soda can use 1 yuan to buy a set of 2 souvenirs.
  5. For the second case, Soda can use 3 yuan to buy a souvenir.
  6.  
 
Source
 
Recommend
hujie   |   We have carefully selected several similar problems for you:  5315 5314 5313 5312 5311 


BestCoder官方解析:
  1. 1001 Souvenir
  2.  
  3. 本题是一个简单的数学题. 假设套装优惠的话就尽量买套装, 否则单件买. 注意一下假设一直用套装的话可能在最后的零头不如单买好, 即(n mod m)⋅p<q.



  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. int main()
  5. {
  6. int t,n,m,p,q;//单位价格p元,套装q元,一个套装有m个纪念品,总共n个參赛者
  7. scanf("%d",&t);
  8. while(t--)
  9. {
  10. scanf("%d%d%d%d",&n,&m,&p,&q);
  11. int price = 0;
  12. if(q/m<p)//假设套装优惠的话尽量买套装
  13. {
  14. if((n%m)*p<q)//假设在买套装最后零头的处理不如单位价格买廉价
  15. {
  16. price = (n/m)*q+(n%m)*p;//就在最后零头买单位价格
  17. }
  18. else
  19. {
  20. price = (n/m+1)*q;//否则多买一个套装
  21. }
  22. }
  23. else//否则直接单位价格买
  24. {
  25. price = n*p;
  26. }
  27.  
  28. printf("%d\n",price);
  29. }
  30. return 0;
  31. }

中文题目在以下:

 

Souvenir

 Accepts: 901
 Submissions: 2743
 Time Limit: 2000/1000 MS (Java/Others)
 Memory Limit: 262144/262144 K (Java/Others)
问题描写叙述
  1. 今天是BestCoder一周年纪念日. 比赛管理员Soda想要给每一个參赛者准备一个纪念品. 商店里纪念品的单位价格是p元, 同一时候也能够花q元购买纪念品套装, 一个套装里有m个纪念品.
  2.  
  3. 今天总共同拥有n个參赛者, Soda想要知道最少须要花多少钱才干够给每一个人都准备一个纪念品.
输入描写叙述
  1. 输入有多组数据. 第一行有一个整数T (1T105), 表示測试数据组数. 然后对于每组数据:
  2.  
  3. 一行包括4个整数 n,m,p,q (1n,m,p,q104).
输出描写叙述
  1. 对于每组数据输出最小花费.
输入例子
  1. 2
  2. 1 2 2 1
  3. 1 2 3 4
输出例子
  1. 1
  2. 3
Hint
  1. 对于第一组数据, Soda能够1元购买一个套装. 对于第二组数据, Soda能够直接花3元购买一个纪念品.

HDU-5310-Souvenir(C++ &amp;&amp; 简单数学题)的更多相关文章

  1. hdu 5310 Souvenir(BestCoder 1st Anniversary ($))

    http://acm.hdu.edu.cn/showproblem.php?pid=5310 题目大意:要买n个纪念品,可以单个买p元每个,可以成套买q元一套,每套有m个,求最少花费 #include ...

  2. HDU 5310 Souvenir

    Souvenir  Accepts: 901  Submissions: 2743  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 262 ...

  3. hdu 5310 Souvenir (水)

    题意:今天是BestCoder一周年纪念日. 比赛管理员Soda想要给每个参赛者准备一个纪念品. 商店里纪念品的单价是p元, 同时也可以花q元购买纪念品套装, 一个套装里有m个纪念品.今天总共有n个参 ...

  4. HDU 6467 简单数学题 【递推公式 && O(1)优化乘法】(广东工业大学第十四届程序设计竞赛)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6467 简单数学题 Time Limit: 4000/2000 MS (Java/Others)    M ...

  5. HDU 6467.简单数学题-数学题 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    简单数学题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  6. HDU 5795 A Simple Nim(简单Nim)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

  7. HDU 5073 Galaxy (2014 Anshan D简单数学)

    HDU 5073 Galaxy (2014 Anshan D简单数学) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5073 Description G ...

  8. Discrete Function(简单数学题)

    Discrete Function There is a discrete function. It is specified for integer arguments from 1 to N (2 ...

  9. JZOJ 5773. 【NOIP2008模拟】简单数学题

    5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms  Memory Limits ...

随机推荐

  1. Servlet初始化与异步支持

    Shared libraries(共享库) / runtimes pluggability(运行时插件能力) 1.Servlet容器启动会扫描,当前应用里面每一个jar包的 ServletContai ...

  2. django的admin后台管理如何更改为中文

    新建Django的admin后端控制为英文显示,为了可以使其显示中文,可以将 setting.py配置文件修改 # LANGUAGE_CODE = 'en-us' # # # # # TIME_ZON ...

  3. BZOJ 2431 逆序对数列 DP

    2431: [HAOI2009]逆序对数列 Time Limit: 5 Sec Memory Limit: 128 MB Description 对于一个数列{ai},如果有i< j且ai> ...

  4. P1569 [USACO11FEB]属牛的抗议Generic Cow Prote…

    题目描述 Farmer John's N (1 <= N <= 100,000) cows are lined up in a row and numbered 1..N. The cow ...

  5. web前端利用HTML代码显示符号

    HTML常用符号代码:                       ´ ´ © © > > µ µ ® ® & & ° ° ¡ ¡     » » ¦ ¦ ÷ ÷ ¿ ¿ ...

  6. Unity引擎GUI之Canvas和EventSystem

    最近想写一套关于UGUI所有控件的基础使用教程系列,主要是根据本人的使用心得以及部分测试附带字面翻译来写的,所以其中可能难以避免会有不正确的地方. 好了进入主题,既然是第一篇,我觉得我有必要先介绍一下 ...

  7. H265

    H265 h265  一.名词 CTU: 编码树单元 CU: 编码单元 PU: 以CU为根,对CU进行划分,一个预测单元PU包含一个亮度预测块PB和两个色度预测块PB. TU: 以CU为根,变换单元T ...

  8. javascript中计算点击多少次

    点击事件:onclick <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  9. Linux rsync配置用于服务器之间传输大量的数据

    Linux的rsync 配置,用于服务器之间远程传大量的数据   [教程主题]:rsync [课程录制]: 创E [主要内容] [1] rsync介绍 Rsync(Remote Synchronize ...

  10. 微信公众号API使用总结

    官网:    https://mp.weixin.qq.com/ API:          http://mp.weixin.qq.com/wiki/home/index.html 接口调试工具:h ...