2 条题解

  • 0
    @ 2025-12-19 20:29:09
    #include<bits/stdc++.h>
    using namespace std;
    int n,a[100000];
    double f[10000][5];//不要忘记double !!!
    using namespace std;
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        f[1][0]=100;
        f[1][1]=a[1];//初始化千万不要忘记!!!!
        for(int i=2;i<=n;i++)//f[x][0]为美元,f[x][1]为马克;
        {
            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));//比较把马克转为美元
        return 0;
    }
    
    • -1
      @ 2025-7-14 14:03:44
      #include <bits/stdc++.h>
      using namespace std;
      int n,i,a;
      double d[110]={0,100},m[110];
      int main() 
      {	scanf("%d",&n);
      	cin>>m[1];
      	for(i=2;i<=n;i++){
      		scanf("%d",&a);
      		d[i]=max(d[i-1],m[i-1]*100.0/a);
              m[i]=max(m[i-1],d[i-1]*a/100.0);
      	}printf("%.2lf",d[n]);
        	return 0;
      }
      
      • 1

      信息

      ID
      100
      时间
      1000ms
      内存
      256MiB
      难度
      1
      标签
      (无)
      递交数
      101
      已通过
      69
      上传者