NOIP2016普及组第一题:买铅笔
生活随笔
收集整理的這篇文章主要介紹了
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普及组第一题:买铅笔的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛C++语言:优惠购物
- 下一篇: Btrace详细指南(JDK7,监控Ha