6 条题解

  • 1
    @ 2026-5-24 10:30:02

    1

    • -1
      @ 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]);
      }
      
      • -1
        @ 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

        • -1
          @ 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]);
          }
          

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

          • -1
            @ 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;
            }
            
            • -2
              @ 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
              上传者