#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+5;
int main()
{
int n;
int a[maxn];
int Hash[maxn];
while(cin>>n)
{
memset(a,0,sizeof(a));
memset(Hash,0,sizeof(Hash));
int tmp[maxn] = {0};
int cnt = 0;
int flag = 0;
for(int i = 0; i < n; ++i){
cin>>a[i];
Hash[a[i]]++;
if(Hash[a[i]] == 1)
{
tmp[cnt++] = a[i];
}else{
flag = 1;
}
}
sort(tmp,tmp+cnt);
int minn_cnt = 0;
if(flag){ //有重复的元素
for(int i = 0; i < cnt; ++i){
if(Hash[tmp[i]] > 1){
int same_cnt = Hash[tmp[i]];
minn_cnt += (same_cnt*(same_cnt-1))/2;
}
}
}
else{ //没有重复的元素
int minn = INT_MAX;
for(int i = 1; i < cnt; ++i){
int dis = tmp[i] - tmp[i-1];
if(dis < minn){
minn = dis;
}
}
for(int i = 1; i < cnt; ++i){
int dis = tmp[i] - tmp[i-1];
if(minn == dis){
minn_cnt++;
}
}
}
int maxn_cnt = 0;
if(cnt == 1){
maxn_cnt = Hash[tmp[0]] * (Hash[tmp[0]]-1)/2;
}
else
maxn_cnt = Hash[tmp[cnt-1]]*Hash[tmp[0]];
cout << minn_cnt << " " << maxn_cnt << endl;
}
return 0;
}
3.有趣的数字
最新推荐文章于 2024-07-03 13:12:32 发布