Gửi bài giải

Điểm: 100,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 64M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++

Nguồn đề : https://www.spoj.com/problems/DQUERY/vn/

Có thể nộp thêm ở link trên để kiểm chứng solution của mình

Cho một dãy số n phần tử ~a_1, a_2, ..., a_n~ và một số các truy vấn-d. Một truy vấn-d là một cặp (i, j) (1 ≤ i ≤ j ≤ n). Với mỗi truy vấn-d (i, j), bạn cần trả về số phần tử phân biệt nằm trong dãy con ~ a_i, a_{i+1}, ..., a_j~.

Input

Dòng 1: n (1 ≤ n ≤ 30000).

Dòng 2: n số ~ a_1, a_2, ..., a_n (1 ≤ a_i ≤ 10^6).~

Dòng 3: q (1 ≤ q ≤ 200000), số lượng truy vấn- d.

Trong q dòng sau, mỗi dòng chứa 2 số i, j biểu thị một truy vấn-d (1 ≤ i ≤ j ≤ n).

Kết quả

Với mỗi truy vấn-d (i, j), in ra số phần tử phân biệt thuộc dãy con ~ a_i, a_{i+1}, ..., a_j~ trên một dòng.

Sample Input

5
1 1 2 1 3
3
1 5
2 4
3 5

Sample Output

3
2
3

Bình luận

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


Không có bình luận tại thời điểm này.