roumeideclown @ 2023-05-04 21:43:59
#include<bits/stdc++.h>
using namespace std;
int n,a[101];
double d,m;
int main() {
scanf("%d",&n);
for(int i=1;i<=n;i++) {
scanf("%d",&a[i]);
}
d=100.0;
m=double(a[1]);
for(int i=1;i<=n;i++) {
d=max(d,d/100*a[i]);
m=max(m,m/a[i]*100);
}
printf("%0.2lf",max(d,m/a[n]*100));
return 0;
}
by Christian_ @ 2024-03-21 11:44:54
你循环开始位置和状态方程写错了,帮您改了就AC了,自己再理解一下!
#include<bits/stdc++.h>
using namespace std;
int n,a[101];
double d,m;
int main() {
scanf("%d",&n);
for(int i=1;i<=n;i++) {
scanf("%d",&a[i]);
}
d=100.0;
m=double(a[1]);
for(int i=2;i<=n;i++) {
d=max(d,m/a[i]*100);
m=max(m,d/100*a[i]);
}
printf("%0.2lf",max(d,m/a[n]*100));
return 0;
}