l洛谷 P3926 SAC E#1

题目背景

SOL君(炉石主播)和SOL菌(完美信息教室讲师)是好朋友。

题目描述

SOL君很喜欢吃蒟蒻果冻。而SOL菌也很喜欢蒟蒻果冻。

有一天,他们在一起搓炉石,而SOL菌则要拿出蒟蒻果冻招待他的客人。

蒟蒻果冻一般在a度下保存在冰箱里。但是刚拿出来的时候太冰了,需要加热。SOL菌打算用一种神奇的电炉加热蒟蒻果冻。根据观察,它有一个特点:

1、蒟蒻果冻小于c度的时候,每p单位时间加热1单位温度;

2、当蒟蒻果冻等于c度的时候,需要q单位时间解冻(大家都知道,晶体物态变化温度不变……SOL君认为果冻属于晶体);

3、当蒟蒻果冻解冻完成之后,每r单位时间加热1单位温度。

SOL想知道,将果冻加热x单位时间的时候果冻的温度。

温度向下取整,也就是说,如果加热结束时不足p(或q)单位时间,则认为在这最后一小段时间内果冻温度没有任何变化。

输入输出格式

输入格式:

 

输入仅包含一行,6个整数,依次为a,c,p,q,r,x。

 

输出格式:

 

输出仅包含一个整数:即为所求温度。

 

输入输出样例

输入样例#1: 复制
-10 0 2 1 3 26
输出样例#1: 复制
1
输入样例#2: 复制
-10 0 2 1 3 27
输出样例#2: 复制
2

说明

对于 30\%30% 的数据,|a|, |c| leq 200, x leq 100a,c200,x100。

对于 60\%60% 的数据,|a|, |c| leq 2 imes 10^9, x leq 100a,c2×109,x100。

对于 100\%100% 的数据,|a|, |c| leq 2 imes 10^9, 1 leq x, p, q, r leq 10^9a,c2×109,1x,p,q,r109。

数据中可能有 a = ca=c,此时算还未解冻的状态。

提示:请使用long long数据类型。

标程

思路:模拟即可

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
long long a,c,p,q,r,x;
int main(){
    scanf("%lld%lld%lld%lld%lld%lld",&a,&c,&p,&q,&r,&x);
    if(a>c)    cout<<a+x/r;
    else if(a==c){
        if(x<q){
            cout<<c;
            return 0;
        }
        else{
            x-=q;
            cout<<x/r+c;
            return 0;
        }
    }
    else if(a<c)
        if((c-a)*p>=x){
            cout<<a+x/p;
            return 0;
        }
        else{
            x-=(c-a)*p;
            if(x<q){
                cout<<c;
                return 0;
            }
            else{
                x-=q;
                cout<<x/r+c;
                return 0;
            }
        }
}
细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
原文地址:https://www.cnblogs.com/cangT-Tlan/p/7853564.html