https://www.luogu.org/problem/show?pid=1968
设f[i][0]为换美元,f[i][1]为换马克,易得出状态转移方程。
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#define ms(i,j) memset(i,j, sizeof i);
/* NOIP2016倒计时,RP++
Luogu: P1968 美元汇率
*/
using namespace std;
double f[105][2];
int n;
int main()
{
ms(f,0);
scanf("%d", &n);
int a;
scanf("%d", &a);
f[1][0] = 100.0; f[1][1] = a;
for (int i=2;i<=n;i++)
{
scanf("%d", &a);
f[i][0] = max(f[i-1][0], f[i-1][1]/(double)a*100.0);
f[i][1] = max(f[i-1][1], f[i-1][0]*(double)a/100.0);
}
printf("%.2f", f[n][0]);
return 0;
}