8 solutions
-
0
思路
易得从小到大处理得最大值 从大到小处理得最小值 算最大值的时候注意每算一次就要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