题解 P1968 【美元汇率】

树下

2018-04-02 18:05:49

Personal

# 动态规划 ### 将每一次的汇率都进行一次,而在每一次都去一个最值,最后比较一下 #### 当然输出的时候要注意再一次进行比较 ``` #include<bits/stdc++.h> using namespace std; int n; int a[100000]; double f[10000][2]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); f[1][0]=100; f[1][1]=a[1]; for(int i=2;i<=n;i++) { f[i][0]=max(f[i-1][0],(f[i-1][1]/a[i])*100); f[i][1]=max(f[i-1][1],(f[i-1][0]*a[i])/100); }//动态转移方程 printf("%.2f",max(f[n][0],(f[n][1]/a[n])*100)); } ```