时间限制:1S
内存限制:128MB
题目描述
计算鸭在实验室中研制了夯晶体,初始温度为a,计算鸭想知道加热b单位时间后夯晶体的温度是多少。
现在通过阅读文献已知:
-
当温度低于c时,夯晶体处于固体状态,每x单位时间温度上升1。
-
当温度等于c时,夯晶体开始熔化吸热,需要y单位时间全部转化成温度为c的液体。
-
当温度大于c时,夯晶体处于液体状态,每z单位时间温度上升1。
若刚研制出的夯晶体温度为c,那么应该处于完全固体状态。最后一小段加热时间不足x,y,z时,温度不会变化。
输入
一行6个整数a,b,c,x,y,z,含义如上。
输出
输出一个整数,表示加热后夯晶体温度。
−10^9≤a,c≤109,1≤b,x,y,z≤10^9
样例
输入1
0 20 10 1 6 2
输出1
12
输入2
0 20 10 3 1 1
输出2
6
代码:
#include<bits/stdc++.h>
using namespace std;
int a,b,c,x,y,z;
int main()
{
scanf("%d%d%d%d%d%d",&a,&b,&c,&x,&y,&z);
if(a>c)
{
a+=b/z;
}
else if(a==c)
{
if(b>y)
{
a+=(b-y)/z;
}
}
else
{
if(b/x+a<c)
{
a+=b/x;
}
else if(b/x+a==c)
{
a=c;
}
else
{
b-=y+(c-a)*x;
if(b>0)
{
a=c+b/z;
}
}
}
printf("%d",a);
return 0;
}