Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Chặt nhị phân 0

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Binany Search (Tìm kiếm nhị phân) là một giải thuật tìm kiếm nhanh với độ phức tạp thời gian chạy là Ο(logn). Giải thuật tìm kiếm nhị phân làm việc dựa trên nguyên tắc chia để trị (Divide and Conquer). Để giải thuật này có thể làm việc một cách chính xác thì tập dữ liệu phải được sắp xếp trước.

Binary Search tìm kiếm một phần tử cụ thể bằng cách so sánh phần tử tại vị trí giữa nhất của tập dữ liệu. Nếu tìm thấy kết nối thì chỉ mục của phần tử được trả về. Nếu phần tử cần tìm là lớn hơn giá trị phần tử giữa thì phần tử cần tìm được tìm trong mảng con nằm ở bên phải phần tử giữa; nếu không thì sẽ tìm ở trong mảng con nằm ở bên trái phần tử giữa. Tiến trình sẽ tiếp tục như vậy trên mảng con cho tới khi tìm hết mọi phần tử trên mảng con này.

Yêu cầu: Bạn được cho hai dãy số nguyên \(A\) và \(B\), mỗi dãy có \(N\) phần tử. Nhiệm vụ của bạn là đếm xem có bao nhiêu phần tử của dãy \(A\) xuất hiện trong dãy \(B\).

Input

Dòng đầu tiên là số nguyên \(N\) \((N \leq 1e5)\)

Dòng thứ hai là dãy \(A\)

Dòng thứ ba là dãy \(B\)

\(1 \leq A_{i}, B_{i} \leq 10^{18}\)

Output

Kết quả bài toán.

Example

Test 1

Input
5
2 3 1 4 5
1 2 3 4 8
Output
4

Bình luận

Chưa có bình luận nào.