AcWing 5277. 三元组
原题链接
中等
作者:
昉偲
,
2023-11-02 11:49:11
,
所有人可见
,
阅读 62
C++ 代码
#include <iostream>
#include <cstring>
#include <algorithm>
#include <map>
typedef long long LL;
using namespace std;
int n;
const int N = 1e5+3;
int a[N];
map<int,int> m;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
m[a[i]]++;
}
sort(a+1,a+n+1);
unique(a+1,a+n+1);
int x=a[1],y=a[2],z=a[3];
if(m[x]>=3)
{
LL t=(LL)m[x]*(m[x]-1)*(m[x]-2)/6;
cout<<t;
}
else if(m[x]==2)
{
cout<<m[y];
}
else if(m[x]==1&&m[y]>=2)
{
LL t=(LL)m[y]*(m[y]-1)/2;
cout<<t;
}
else
{
cout<<m[z];
}
}