FRIENUM - Số có bạn

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho số nguyên dương ~n~ và dãy ~n~ số nguyên dương ~a_1, a_2, …, a_n~. Ta gọi một số ~a_i~ là có bạn nếu ~∃j ≠ i ,a_i = a_j~. Hãy đếm số lượng số có bạn trong dãy số trên.

Input

  • Dòng đầu ghi số nguyên dương ~n~.
  • Dòng thứ hai chứa ~n~ số nguyên dương ~a_1, a_2, …, a_n~. Hai số liên tiếp được ghi cách nhau một dấu cách.

Giới hạn:

  • ~80\%~ số điểm có ~n ≤ 10^3~ và ~1 ≤ a_i ≤ 10^6~;
  • ~20\%~ số điểm có ~10^3 < n ≤ 10^6~ và ~1 ≤ a_i ≤ 10^6~.

Output

  • Một dòng duy nhất ghi số nguyên là số lượng số có bạn tìm được.

Sample

Input #1
6
1 2 2 3 1 2
Output #1
5

Hint

Xét #1:

  • Có ~5~ số có bạn bao gồm hai số ~1~ và ba số ~2~.

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    thangok  đã bình luận lúc 17, Tháng 4, 2024, 14:24

    HEHE BOIZ

    include<bits/stdc++.h>

    using namespace std; long long a[1000001],f[1000001]; int main(){ iosbase::syncwith_stdio(false); cin.tie(0);cout.tie(0); int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; f[a[i]]++; } int dem=0; for(int i=1;i<=n;i++){ if(f[a[i]]>1) dem++; } cout<<dem; return 0; }


  • 2
    hohoanghai5042011  đã bình luận lúc 9, Tháng 12, 2023, 9:09 sửa 3

    #include <bits/stdc++.h>

    using namespace std; unsigned long long n,a[1000001],i,f[1000001],s=0,d=0; int main() { cin>>n; for(i=1;i<=n;i++) { cin>>a[i]; f[a[i]]++; } for(i=1;i<=n;i++) { if(f[a[i]]>1) d++; } cout<<d;

    }