通过观察测试点
可以发现:
当持有美元(代码中为"dollor")时,若当天汇率大于或等于明天汇率,则将美元转化为马克
当持有马克(代码中为"mark")时,若当天汇率小于或等于明天汇率,则将马克转化为美元
代码如下:
#include <bits/stdc++.h>
using namespace std;
int n;
double a[101], m = 100.00;
bool b = true; // true=>dollor false=>mark
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
for (int i = 1; i <= n; i++) {
if (i == n && !b)
m /= (a[i] / 100.00);
else if (i == n && b)
break;
else if (b && a[i] >= a[i + 1])
m *= (a[i] / 100.00), b = false;
else if (!b && a[i] <= a[i + 1])
m /= (a[i] / 100.00), b = true;
}
printf("%.2lf", m);
return 0;
}