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


  • -2
    BestFlo2k9    5:32 p.m. 20 Tháng 7, 2024

    include <bits/stdc++.h>

    define ll long long

    using namespace std;
    ll solve(ll n){
    return n*(n - 1)/2;
    }
    ll a[1000005],n,dem = 0;
    int main(){
    cin >> n;
    set<ll> ms;
    multiset<ll> ls;
    for (ll i = 1;i <= n;i++){
    cin >> a[i];
    ms.insert(a[i]);
    ls.insert(a[i]);
    }
    for (auto x : ms){
    if (ls.count(x) < 2){
    continue;
    }
    else{
    dem += solve(ls.count(x));
    }
    }
    cout << dem;
    }
    code cho ai cần


    • 0
      trieuanhtri    10:08 a.m. 29 Tháng 7, 2024

      code sai nha mọi người ơi

      11 bình luận nữa