数列极差(贪心)C++代码实现
#include<iostream>
#include<algorithm>
using namespace std;
int cmp(int a,int b){
return a>b;
}
int main()
{
int s[50001],j[50001];
int n,i;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s[i];
j[i]=s[i];}
sort(s,s+n);
for(int i=1;i<n;i++)
{
s[i]=s[i]*s[i-1]+1;
sort(s+i,s+n);
}
int max=s[n-1];
sort(j,j+n,cmp);
for(i=1;i<n;i++)
{
j[i]=j[i]*j[i-1]+1;
}
int min=j[n-1];
cout<<"max-min="<<max-min<<endl;
return 0;
}