NOIP2016普及组复赛第一题ACC程序加题解pascal
第一题:
题目描述
P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买同一种包装的铅笔。
商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过n支铅笔才够给小朋友们发礼物。
现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少n支铅笔最少需要花费多少钱。
var
i,j,k,m,x,y:longint; //i,j,k:循环变量,为什么有这么多?个人喜好!!!!!!x:一套铅笔的个数y:一套铅笔的价格。
max,n:int64;
begin
assign(input,'pencil.in');
assign(output,'pencil.out');
reset(input);
rewrite(output);//文件格式输入输出。
readln(m);//P老师要多少只铅笔。
max:= maxlongint;//P老师最少花多少钱。
for i:=1 to 3 do//有三种铅笔。
begin
read(x,y);//输入
if x<>0 then begin
n:=m div x;//要买多少套。
if m mod x<>0//判断要买多少套?
then n:=n+1;
n:=n*y;//N套要多少钱。
if n<max//是否少于上一套的钱数。
then max:=n;//是的话就赋值给MAX。
end;
end;
writeln(max);//输出最少花多少钱。
close(input);
close(output);
end.