Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Bài này mình sử dụng đếm phân phối với công thức tính số tổ hợp chập 2 của x lần xuất hiện của mỗi phần tử a[i] là xong nhé =))))
#include <bits/stdc++.h>
using namespace std;
int a[100009],d[100009];
int main()
{
int n,cnt=0;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
d[a[i]]++;
}
sort(a,a+n);
int back_up=-1;
for(int i=0;i<n;i++)
{
if(a[i]!=back_up)
{
int val=d[a[i]];
cnt=cnt+(val*(val-1)/2);
back_up=a[i];
}
}
cout<<cnt;
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
sử dụng nguyên lí quét cạn nha nhưng nếu mảng quá dài thì chạy lâu lắm nha
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin