Tết Trung thu cả nhà đi chơi

Xem dạng PDF

Gửi bài giải

Điểm: 1,23 (OI)
Giới hạn thời gian: 4.5s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
VOS round 26 - Trần Phan Anh Khoa
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Ở một gia đình nọ có ~4~ người. Người cha tên là Tổng, người mẹ tên là Hai Số. Không biết hai vợ chồng canh ngày tháng thế nào mà ~2~ đứa con đều sinh ra cùng ngày tháng mặc dù là khác năm. Hai đứa con có tên là Khó và Lắm.

Tối nay là Trung thu, đôi vợ chồng Tổng, Hai Số lên kế hoạch mua cho ~2~ đứa con Khó, Lắm mỗi đứa ~X~ viên kẹo. Để niềm vui được trọn vẹn, ~X~ phải là số ưa thích của cả Khó và Lắm. Dõi theo từng ngày Lắm lớn khôn, cặp vợ chồng ấy đã tìm được thông tin về những số mà Lắm thích. Lắm chỉ thích đúng ~P~ số đặc biệt. ~P~ số này được cha mẹ của Lắm ghi lại nhưng trong quá trình ghi chép lại gặp một số vấn đề nên có thể có trường hợp ~1~ số bị lặp lại nhiều lần cho nên danh sách được ghi lại sẽ có ~Q~ số. Khó là anh nên có vẻ hơi khó chiều hơn. Vì là một lập trình viên giỏi nên Khó đã viết một thủ tục ~Find(x)~ bằng PASCAL và input của thủ tục là một dãy ~A~ gồm ~N~ số không giảm. Dãy số là cố định và ~x~ là số cần kiểm tra xem Khó có thích hay không.

procedure Find(x: longint);
var i,j: longint;
Begin
  i := 1;
  j := n;
  while  i < j do
  begin 
    if A[i] + A[j] = x 
    begin
      writeln(i,' ',j); 
      exit;
    end; 
    if A[i] + A[j] > x
      j := j-1
    else 
      i := i+1;
  end;
  writeln('-1 -1');
end;

Biết rằng nếu cặp số được in ra là ~(-1~, ~-1)~ thì Khó không thích số đó. Giờ cha mẹ của Khó, Lắm phải tìm xem cặp số được in ra sau khi thực hiện thủ tục Find cho từng số trong danh sách ~Q~ số. Vì ~Q~ khá lớn nên Tổng, Hai Số đã nhờ tới các bạn lập trình viên VNOI_er giải quyết giúp vấn đề này.

Lưu ý:

Mảng ~A~ được đánh số từ ~1~ tới ~N~ từ trái sang phải.

Input

  • Dòng dầu chứa số nguyên dương ~N~.
  • Dòng hai chứa ~N~ số miêu tả dãy ~A~ ~(A_{i} \le A_{i + 1})~.
  • Dòng ba chứa số nguyên dương ~Q~.
  • ~Q~ dòng tiếp theo, dòng thứ ~i~ chứa số thứ ~i~ trong danh sách ~Q~ số mà Lắm thích.

Output

  • Gồm ~Q~ dòng, dòng thứ ~i~ chứa cặp số được in ra khi thực hiện thủ tục Find cho số thứ ~i~.

Giới hạn

  • ~N \leq 10^{4}~, ~Q \leq 10^{6}~.
  • ~60\%~ số test ~N \leq 10^{3}~, ~Q \leq 10^{5}~.
  • ~0 \leq A_i \leq 10^{9}~.
  • Các số trong danh sách số đặc biệt của Lắm là số nguyên không âm và tối đa là ~2 \times 10^{9}~.

Sample Input

6
1 2 3 4 5 6
4
6
9
5
12

Sample Output

1 5
3 6
1 4
-1 -1

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.