欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

NOIP2016普及组第一题:买铅笔

发布时间:2025/3/17 编程问答 14 豆豆
生活随笔 收集整理的这篇文章主要介绍了 NOIP2016普及组第一题:买铅笔 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

【题目描述】
P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过n支铅笔才够给小朋 友们发礼物。现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少n支铅笔最少需要花费多少钱。

【输入】
输入的第一行包含一个正整数n,表示需要的铅笔数量。接下来三行,每行用两个正整数描述一种包装的铅笔:其中第一个整数表示这种 包装内铅笔的数量,第二个整数表示这种包装的价格。保证所有的7个数都是不超过10000的正整数。

【输出】
输出一行一个整数,表示P老师最少需要花费的钱。

【输入样例】
输入样例1:
57
2 2
50 30
30 27

输入样例2:
9998
128 233
128 2333
128 666

输入样例3:
9999
101 1111
1 9999
1111 9999

【输出样例】
输出样例1:
54

输出样例2:
18407

输出样例3:
89991

代码

#include<cstdio> #include<cmath> using namespace std; int n,shu1,shu2,shu3,jg1,jg2,jg3,a,b,c,min; int main() {scanf("%d%d%d%d%d%d%d",&n,&shu1,&jg1,&shu2,&jg2,&shu3,&jg3);a=ceil(n*1.0/shu1)*jg1;b=ceil(n*1.0/shu2)*jg2;c=ceil(n*1.0/shu3)*jg3;min=a;if(b<min)min=b;if(c<min)min=c;printf("%d",min);return 0; } #include<iostream> #include<cmath> using namespace std; int main() {int n,shu1,shu2,shu3,jg1,jg2,jg3,a,b,c,min;cin>>n>>shu1>>jg1>>shu2>>jg2>>shu3>>jg3;a=ceil(n*1.0/shu1)*jg1;b=ceil(n*1.0/shu2)*jg2;c=ceil(n*1.0/shu3)*jg3;min=a;if(b<min)min=b;if(c<min)min=c;cout<<min;return 0; }

总结

以上是生活随笔为你收集整理的NOIP2016普及组第一题:买铅笔的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。