题解 P1968 【美元汇率】
树下
2018-04-02 18:05:49
# 动态规划
### 将每一次的汇率都进行一次,而在每一次都去一个最值,最后比较一下
#### 当然输出的时候要注意再一次进行比较
```
#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));
}
```