1 条题解

  • 0
    @ 2025-2-14 21:11:41

    C :

    #include<stdio.h>
    int main()
    {
    	int d,max;
    	int rate[100];
    	double m=100,flag=0;
    	int i,l,k;
    	scanf("%d",&d);
    	for(i=0;i<d;i++)
    	{
    		scanf("%d",&rate[i]);
    	}
    	for(l=0;l<=d;l++)
    	{
    		max=rate[l];
    	
    		if(flag==0)
    		{
    		    for(k=l;k<d;k++)
    		    {
    		       if(max<rate[k]&&k!=d-1)
    			   {
    			   	max=rate[k];
    			   }
    			   else if(max>rate[k])
    			   {
    			   	l=k-1;
    			   	flag=1;
    			   	m=m*max/100;
    			   	break;
    			   }
    		    }
    		}
    		else
    		{
    			for(k=l;k<d;k++)
    		    {
    		       if(max>rate[k])
    			   {
    			   	max=rate[k];
    			   }
    			   else if(max<rate[k]||k==d-1)
    			   {
    			   	l=k-1;
    			   	flag=0;
    			   	m=m/max*100;
    			   	break;
    			   }
    		    }
    		}
    		
    	}
    	printf("%.2f\n",m);
    	return 0;
    } 
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    using namespace std;
    int main(){
    	unsigned long long n;
    	double tot=100;
    	bool b;
    	cin>>n;
    	int a[100000];
    	for(int i=1;i<=n;i++)
    		cin>>a[i];
    	for(int i=1;i<n;i++){
    		if(!b&&a[i]>a[i+1]){
    			b=1;
    			tot*=a[i];
    		}
    		if(b&&a[i]<a[i+1]){
    			b=0;
    			tot/=a[i];
    		}
    	}
    	if(b) tot/=a[n];
    	printf("%.2f",tot);
    	return 0;
    }
    

    Pascal :

    var n,i,a,b:longint;x:real;
    begin
     readln(n);
     x:=100;
     read(a);b:=a;
     x:=x*b/a;
     for i:=2 to n do
      begin
       read(a);
       if a<b then begin x:=x*b/a;end;
       b:=a;
      end;
     writeln(x:0:2);
    end.
    
    • 1

    信息

    ID
    710
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者