Điểm:
100 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho một mảng gồm \(n\) số nguyên dương \(a_1,\) \(a_2,\) \(a_3,\) \(...,\) \(a_n.\)
Yêu cầu : Hỏi có bao nhiêu cặp số bằng nhau ? \((\)Bao nhiêu cặp \(a_i\) \(=\) \(a_j\) với \(i\) \(\neq\) \(j,\) \((ai,\) \(aj)\) và \((aj,\) \(ai)\) chỉ được tính là \(1\) cặp\().\)
Input
- Dòng thứ nhất là chiều dài \(n\) của mảng \((1\) \(\leq\) \(n\) \(\leq\) \(10^5).\)
- Dòng thứ hai gồm \(n\) số nguyên \(a_1,\) \(a_2,\) \(a_3,\) \(...,\) \(a_n\) \((1\) \(\leq\) \(a_i\) \(\leq\) \(10^5),\) mỗi số cách nhau một khoảng trắng.
Output
- Là số nguyên xác định số lượng các cặp bằng nhau.
Example
Test 1
Input
5
8 2 9 8 1
Output
1
Test 2
Input
7
6 2 4 2 4 3 4
Output
4
Bình luận
Code c++ nek
include<bits/stdc++.h>
using namespace std;
define ll long long
ll n, a[1000008], dd[1000008], d = -1, s = 0;
int main()
{
cin >> n;
for(ll i = 1; i <= n; ++i)
{
cin >> a[i];
dd[a[i]]++;
}
for(ll i = 1; i <= n; ++i)
if(dd[i] > 0) s += (dd[i] * (dd[i] - 1)) / 2;
cout << s;
}
11 bình luận nữa