CSES - Distinct Numbers | Giá trị phân biệt

Xem PDF



Tác giả:
Dạng bài
Điểm: 800 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho một danh sách gồm \(n\) số nguyên và nhiệm vụ của bạn là tính toán số lượng giá trị phân biệt trong danh sách.

Input

  • Dòng đầu vào đầu tiên có một số nguyên \(n\): số lượng giá trị.
  • Dòng thứ hai có \(n\) số nguyên \(x_1,x_2,\ldots,x_n\).

Output

  • In một số nguyên: số lượng giá trị phân biệt.

Constraints

  • \(1 \le n \le 2 \cdot 10^5\)
  • \(1 \le x_i \le 10^9\)

Example

Sample input

5
2 3 2 2 3

Sample output
2


Bình luận

  • nguyenhoangminhmethzyy 1:46 p.m. 17 Tháng 1, 2025 đã chỉnh sửa

    //nguyenhoangminh1-9-2009

    include<bits/stdc++.h>

    define int long long

    using namespace std;
    const int N=1e6+7;
    int n,a[N];
    map<int,int>mp;
    signed main (){
    cin >> n;
    for (int i=1;i<=n;i++){
    cin >> a[i];
    mp[a[i]]=1;
    }
    int res=0;
    for (int i=1;i<=n;i++){
    res+=mp[a[i]];
    mp[a[i]]=0; // de kh cong lap
    }
    cout << res;
    return 0;
    }

    • 9 bình luận nữa