CF1927D.Find the Different Ones!
普及-
通过率:0%
时间限制:5.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a of n integers, and q queries.
Each query is represented by two integers l and r (1≤l≤r≤n). Your task is to find, for each query, two indices i and j (or determine that they do not exist) such that:
- l≤i≤r;
- l≤j≤r;
- ai=aj.
In other words, for each query, you need to find a pair of different elements among al,al+1,…,ar, or report that such a pair does not exist.
给你一个包含 n 个整数的数组 a,以及 q 个查询。
每个查询由两个整数 l 和 r 表示(满足 1≤l≤r≤n)。对于每个查询,你需要找出两个下标 i 和 j(或判定其不存在),使得:
- l≤i≤r;
- l≤j≤r;
- ai=aj。
换言之,对每个查询,你需要在子数组 al,al+1,…,ar 中找出一对值不相等的元素,或者报告这样的元素对不存在。
输入格式
The first line of the input contains a single integer t (1≤t≤104) — the number of test cases. The descriptions of the test cases follow.
The first line of each test case contains a single integer n (2≤n≤2⋅105) — the length of the array a.
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤106) — the elements of the array a.
The third line of each test case contains a single integer q (1≤q≤2⋅105) — the number of queries.
The next q lines contain two integers each, l and r (1≤l<r≤n) — the boundaries of the query.
It is guaranteed that the sum of the values of n across all test cases does not exceed 2⋅105. Similarly, it is guaranteed that the sum of the values of q across all test cases does not exceed 2⋅105.
输入的第一行包含一个整数 t(1≤t≤104)—— 表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(2≤n≤2⋅105)—— 表示数组 a 的长度。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤106)—— 表示数组 a 的元素。
每个测试用例的第三行包含一个整数 q(1≤q≤2⋅105)—— 表示查询的数量。
接下来的 q 行每行包含两个整数 l 和 r(1≤l<r≤n)—— 表示查询的边界。
保证所有测试用例中 n 的总和不超过 2⋅105;同样,保证所有测试用例中 q 的总和不超过 2⋅105。
输出格式
For each query, output two integers separated by space: i and j (l≤i,j≤r), for which ai=aj. If such a pair does not exist, output i=−1 and j=−1.
You may separate the outputs for the test cases with empty lines. This is not a mandatory requirement.
对于每个查询,输出两个由空格分隔的整数:i 和 j(满足 l≤i,j≤r),使得 ai=aj。若不存在这样的数对,则输出 i=−1 和 j=−1。
你可以用空行分隔不同测试用例的输出。这不是强制性要求。
输入输出样例
输入#1
5 5 1 1 2 1 1 3 1 5 1 2 1 3 6 30 20 20 10 10 20 5 1 2 2 3 2 4 2 6 3 5 4 5 2 3 4 4 1 2 1 4 2 3 2 4 5 1 4 3 2 4 5 1 5 2 4 3 4 3 5 4 5 5 2 3 1 4 2 7 1 2 1 4 1 5 2 4 2 5 3 5 4 5
输出#1
2 3 -1 -1 1 3 2 1 -1 -1 4 2 4 6 5 3 1 2 1 2 2 3 3 2 1 3 2 4 3 4 5 3 5 4 1 2 4 2 1 3 2 3 3 2 5 4 5 4
输入解题思路,AI测评打分。不知道怎么写?