【发布时间】:2021-02-24 10:56:31
【问题描述】:
您想从著名的在线视频游戏商店 Mist 购买视频游戏。
通常,所有游戏都以相同的价格出售,美元。但是,他们计划在下个月举办季节性万圣节特卖,您可以在其中以更便宜的价格购买游戏。具体来说,您在促销期间购买的第一款游戏将以美元出售,但您购买的每款后续游戏的售价都将低于您购买的前一款游戏的成本。这将一直持续到成本小于或等于美元,之后您购买的每款游戏都将花费美元。
例如,如果 和 ,那么以下是您购买的第一款游戏的费用,按顺序排列:
你的 Mist 钱包里有美元。万圣节特卖期间您可以购买多少游戏?
我的代码是这样的,我想知道为什么 11/52 测试用例会失败。
#include<stdio.h>
int main()
{
int ct=0,i,p,d,m,s;
scanf("%d %d %d %d",&p,&d,&m,&s);
i=p;
while(i<s)
{
if(p-d>m) p-=d;
else p=m;
i+=p;
ct+=1;
}
printf("%d",ct);
return 0;
}
【问题讨论】:
-
问题定义中缺少一些文本。必须提高您的复制粘贴技能。
标签: c algorithm dynamic-programming counting