您的位置:首页 > 其它

Codeforces 799A Carrot Cakes 题解

2017-05-12 16:02 405 查看

题意

现在有n个胡萝卜,一个炉子,一个炉子可以同时做k个胡萝卜,做好需要t分钟,现在允许用d分钟再造一个相同的炉子,两个炉子可以同时工作,判断再建一个炉子是否可以缩短总时间

思路

分别计算建不建炉子的时间进行比较,先计算一共需要做多少次胡萝卜,就是(n+1)/k,然后再乘t就是不建的,建的首先算出在建的时候能做多少次胡萝卜,减去后剩下的平分两个炉子,奇数时给原先的炉子多一次,计算出总时间,然后比较

代码

#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int n,t,k,d,t1,t2,t3;
scanf("%d%d%d%d",&n,&t,&k,&d);
if(n%k==0)
n/=k;
else n=n/k+1;
t1=n*t;
if(n*t<=d)
{
t2=d;
t3=d;
}
else
{
t2=d;
t3=d/t*t;
n-=d/t;
if(n%2==1)
t2=t3+(n/2+1)*t;
else t2=t2+n/2*t;
}
if(t1>t2)
printf("YES\n");
else printf("NO\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: