题解:P13985 [PO Final 2023] 通胀 / Inflation

· · 题解

题目传送门

为了最大化最终通胀率,每天选择使当前值更大的操作: 对于正变化,乘法(百分比方式)通常更大。
对于负变化,加法(百分点方式)通常更大。
从初始值开始,逐天计算两种方式的结果,选择较大的作为新的当前值。

CODE:

#include<bits/stdc++.h>
using namespace std;
double n;
int main(){
    cin>>n;
    for(int i=0;i<30;i++){
        double d;
        cin>>d;
        n=max(n+d,n*(1+d/100.0));
    }
    cout<<fixed<<setprecision(10)<<n<<endl;
    return 0;
}