[CF955A]Feed the cat

· · 题解

前言。

一个比较好想的题。

分析。

首先我们分析一下题意。

安德鲁喂猫,买面包有两种情况,第一个是 20 点以后面包的价格降到原来的百分之八十,第二个是原价购买,求最小值。

显而易见:

代码如下,仅供参考:

#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double hh,mm,h,d,c,n;
int main(){
    cin>>hh>>mm>>h>>d>>c>>n;
    if(hh>=20){
        printf("%.4lf",c*0.8*ceil(h/n));
    }
    else{
        double ans=min(c*ceil(h/n),c*0.8*ceil((h+((20-hh)*60-mm)*d)/n));
        printf("%.4lf",ans);
    }   
    return 0;
}

后记。

面包有 20 的折扣就是打八折。

大家如有疑问,可以在评论区提出,我会尽力解答的。