[HSG3_BN_24] Di chuyển

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Có ~n + 1~ cây cột, đánh số bắt đầu từ ~1~ đến ~n + 1~ tính từ trái qua phải. Cây cột thứ ~i~ có độ cao ~h_i~ ~(i = 1..n,\ 0 < h_i \le 10^9,\ 0 < n \le 10^6,\ h_i \in \mathbb{Z})~, cây cột ~n + 1~ có độ cao lớn hơn mọi cây cột trước đó, ta ký hiệu độ cao này là ~-1~ (vì không cần biết chính xác).

Trên mỗi cây cột hiện có một con cào cào đang sống. Đến tuổi trưởng thành, mỗi con cào cào đều muốn đi tìm một chỗ sống tốt đẹp hơn bằng cách nhảy sang cây cột cao hơn gần nhất bên phải. Cào cào ở cây cột thứ ~i~ có thể thực hiện được ~x_i~ bước nhảy ~(0 < x_i < n)~.

Ví dụ: Có ~8~ cây cột với độ cao tương ứng từ trái sang phải là ~3, 1, 4, 5, 6, 2, 3~ và ~8~. Số bước nhảy mỗi cào cào có thể thực hiện là ~1, 2, 1, 3, 4, 2, 1, 2~. Sau khi di chuyển hết khả năng của mình, cào cào ở cây cột ~1~ sẽ tới được cây cột ~3~ với độ cao là ~4~, còn cào cào ở cây cột ~4~ tới được cây cột ~n + 1~ (độ cao ~-1~).

Yêu cầu

Hãy xác định độ cao nơi ở mới của mỗi con cào cào.

Dữ liệu đầu vào

Gồm ba dòng:

  • Dòng thứ nhất chứa số nguyên ~n~.
  • Dòng thứ hai chứa ~n~ số nguyên ~h_1, h_2, ..., h_n~.
  • Dòng thứ ba chứa ~n~ số nguyên ~x_1, x_2, ..., x_n~.

Dữ liệu đầu ra

Gồm một dòng chứa ~n~ số nguyên là độ cao nơi ở mới của mỗi con cào cào.

Ràng buộc dữ liệu

  • Có 50% số test ~n \le 10^4~;
  • Có 50% số test còn lại ~n \le 10^6~.

Ví dụ

Ví dụ 1
INPUT
8
3 1 4 5 6 2 3 8
1 2 1 3 4 2 1 2
OUTPUT
4 5 5 -1 -1 8 8 -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.