/* 题目有点要注意,在初始话max,min时要设置改类型的最大最小。测试数据里就用边界卡人。。。*/
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstdio>
using namespace std;
int main ()
{
long long int n,max,min,ans1,ans2;
int u,d,i,j,a;
while(cin>>n)
{
u=0;d=0;
max=0;min=9223372036854775807; // 第一次写的时候写错了。。。。。
for(i=1;i<=n;i++)
{
scanf("%d",&a);
if(a>max)
{
max=a;
u=0;
}
if(a<min)
{
min=a;
d=0;
}
if(a==max)
u++;
if(a==min)
d++;
}
ans1=max-min;
if(max==min)
{
if(n%2==0)
ans2=(n/2)*(n-1);
else
ans2=n*((n-1)/2);
}
else
ans2=d*u;
cout<<ans1<<" "<<ans2<<endl;
}
return 0;
}
//-----------------------------------------华丽的分割线-----------------------------------------------
unsigned int 0~4294967295 10^10
int 2147483648~2147483647 10^9
unsigned long 0~4294967295 10^10
long -2147483648~2147483647 10^9
long long的最大值: 9223372036854775807 10^19
long long的最小值: -9223372036854775808 10^19
unsigned long long的最大值: 18446744073709551615 10^20
__int64的最大值: 9223372036854775807 10^19
__int64的最小值: -9223372036854775808 10^19
unsigned __int64的最大值: 18446744073709551615 10^20
B. Pashmak and Flowers
最新推荐文章于 2021-08-15 10:37:11 发布