Số cặp

Xem PDF



Tác giả:
Dạng bài
Đ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)\)\((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


  • 0
    pa_ldk    4:47 p.m. 14 Tháng 5, 2024

    include<bits/stdc++.h>

    using namespace std;

    define ll long long

    ll n, i, ans, t;
    ll a[100005], dem[100005];
    int main() {
    cin >> n;
    for(i = 0; i < n; i ++) cin >> a[i], dem[a[i]]++;
    sort(a, a + n);
    for(i = 0; i < n; i += dem[a[i]]) {
    t = dem[a[i]];
    ans += t * (t - 1) / 2;
    }
    cout << ans;
    return 0;
    }
    Code c++ cho nhung ai can
    '

    • 11 bình luận nữa