hdu5310 Souvenir(模拟)
2015-07-26 09:04
253 查看
Link:http://acm.hdu.edu.cn/showproblem.php?pid=5310
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 214 Accepted Submission(s): 140
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
Sample Output
Source
BestCoder 1st Anniversary ($)
AC code:
Souvenir
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 214 Accepted Submission(s): 140
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
2 1 2 2 1 1 2 3 4
Sample Output
1 3 Hint For the first case, Soda can use 1 yuan to buy a set of 2 souvenirs. For the second case, Soda can use 3 yuan to buy a souvenir.
Source
BestCoder 1st Anniversary ($)
AC code:
#include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<cstdio> #include<queue> #include<map> #include<vector> #define LL long long #define MAXN 1000010 using namespace std; int num[MAXN]; LL ans=0; int main() { int T,n,m,p,q,s; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&n,&m,&p,&q); ans=0; if(m>=n) { if(q<=p*n) { ans=q; } else { ans=n*p; } } else { if(q<=p*m) { s=n/m; ans=s*q; LL ans1=ans+(n-s*m)*p; LL ans2=ans+q; ans=min(ans1,ans2); } else { ans=n*p; } } printf("%I64d\n",ans); } return 0; }
相关文章推荐
- 堆串的应用
- 网络科技协会暑假第一周学习计划报告
- 设计模式---读书笔记
- 【记录】长按listview弹出删除选项,点击删除记录删除
- 一起talk C栗子吧(第二十三回:C语言实例--队列二)
- Android 多分辨率自适应总结
- 有关动态多维数组的一个问题
- hd3788
- codeforces 552 第一次能全做出来DIV2流下了感动的泪水....
- POJ 3548 Restoring the digits
- Mysqli:预编译 mysqli_stmt
- java连接MongoDB数据库
- POJ 2062 HDU 1528 ZOJ 2223 Card Game Cheater
- C语言缺陷与陷阱(3)
- c++ 复杂类型指针 类指针 浅谈
- 我对编程的认识
- c#开发宝典王小科 李继业著 1.3.7 “输出”面板
- 八皇后问题
- ZOJ 1967 POJ 2570 Fiber Network
- HDU 1969 Pie