5 条题解

  • 0
    @ 2026-3-17 14:17:21

    @毛智涵,你代码太长了

    #include<bits/stdc++.h>
    using namespace std;
    long long n;
    double a[1000],b[1000],k;
    int main() {
    	a[0]=100;
    	cin>>n;
    	for (int i=1; i<=n; i++) {
    		cin>>k;
    		b[i]=max(a[i-1]/100*k,b[i-1]);
    		a[i]=max(b[i-1]/k*100,a[i-1]);
    	}
    	printf("%.2lf",a[n]);
    }
    
    • 0
      @ 2026-3-16 16:34:18
      #include<bit/stdc++.h>
      using namespace std;
      int a[10000],n;
      double x[10000],y[10000];
      int main()
      cin << n;
      for (int i = 1; i <= n; ++ i) cin << a[i];
      x[1] = 100;
      y[1] = a[1];
      for (int i = 2; i <= n; ++ i)
      {
      x[i] = max (x[i - 1],y[i - 1] * 100 / a[i]);
      y[i] = max (y[i - 1],x[i - 1] / 100 * a[i]);
      }
      double s = max (x[n],y[n] / a[n]);
      printf("%.2lf",s);
      

      复制会CE

      • 0
        @ 2026-3-16 16:33:01
        #include<bits/stdc++.h>
        using namespace std;
        long long n,s,x,y,a[200000],k;
        double p[200000],q[200000];
        int main()
        {
        	cin>>n;
        	for(int i=1;i<=n;i++)
        	cin>>a[i];
        	p[0]=100.00;
        	for(int i=1;i<=n;i++)
        	{
        		p[i]=max(p[i-1]*1.0,q[i-1]*1.0/a[i]);
        		q[i]=max(q[i-1]*1.0,p[i-1]*1.0*a[i]);
        	}
        	printf("%.2lf",p[n]);
        }
        

        有一点点难看,不要介意哦!!!

        • 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
            标签
            (无)
            递交数
            104
            已通过
            72
            上传者