8 solutions

  • 0
    @ 2021-10-18 0:08:24

    思路

    易得从小到大处理得最大值 从大到小处理得最小值 算最大值的时候注意每算一次就要sort一下找到当前数组两最小值,例如数据四个数为3 4 5 6答案应为28 算最小值易得处理出的数肯定最大

    代码

    #include<bits/stdc++.h>
    using namespace std;
    long long a[50005],b[50005];
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	long long max,min;
    	for(int i=0;i<n;i++)
    	{
    		scanf("%lld",&a[i]);
    		b[i]=a[i];
    	}
    	sort(a,a+n);
    	sort(b,b+n);
    	for(int i=0;i<n-1;i++)//max
    	{
    		a[i+1]=a[i]*a[i+1]+1;
    		sort(a,a+n);
    	}
    	max=a[n-1];
    	for(int i=n-1;i>0;i--)//min
    	{
    		b[i-1]=b[i]*b[i-1]+1;
    	}
    	min=b[0];
    	printf("%lld",max-min);
    	return 0;
    }
    

    Information

    ID
    95
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    149
    Accepted
    53
    Uploaded By