网址:点击打开链接
#include<stdio.h>
#include<algorithm>
using namespace std;
long long s[200005];
int main()
{
long long n,i,a=0,b=0;
long long minn=0x3f3f3f3f;
long long maxn=-0x3f3f3f3f;
scanf("%I64d",&n);
for(i=0; i<n; i++)
{
scanf("%I64d",&s[i]);
if(minn>s[i])
{
minn=s[i];
}
if(maxn<s[i])
{
maxn=s[i];
}
}
if(minn==maxn)
{
printf("0 %I64d\n",n*(n-1)/2);
return 0;
}
for(i=0; i<n; i++)
{
if(s[i]==minn)
a++;
if(s[i]==maxn)
b++;
}
printf("%I64d %I64d\n",maxn-minn,a*b);
return 0;
}
本文介绍了一个关于寻找花园中两朵花之间的最大美丽差值及其组合数量的问题,并提供了一段C++代码实现,该算法首先找出最美丽和最不美丽的花朵,然后计算它们之间的差值及所有可能的组合数。
499

被折叠的 条评论
为什么被折叠?



