trang chủ / bài tập / frogwell

Ếch trong giếng

Đề bài

Mô tả

Một con ếch đang ở đáy của một cái giếng sâu n mét. Mặt nước nằm ở mặt đất, tức ở độ sâu 0. Ếch ở độ sâu n và muốn lên đến độ sâu 0.

Bề mặt thành giếng không đồng đều: nếu ếch đang ở độ sâu x thì với một cú nhảy nó có thể đi lên một khoảng nguyên bất kỳ từ 0 đến ax mét (ếch không thể nhảy xuống).

Sau mỗi cú nhảy (kể cả cú nhảy dài 0 mét), ếch phải dừng lại nghỉ. Nếu sau khi nhảy ếch đến độ sâu x>0 thì trong lúc nghỉ nó sẽ bị trượt thêm đúng bx mét xuống dưới. Nếu sau khi nhảy ếch đến độ sâu 0 (mặt đất) thì nó đã thoát ra và không cần nghỉ nữa.

Hãy tính số cú nhảy ít nhất để ếch lên đến mặt đất, và in ra dãy độ sâu nó đạt được ngay sau mỗi cú nhảy (trước khi trượt). Nếu không thể, in 1.

Dữ liệu vào

  • Dòng 1: số nguyên n — độ sâu giếng.
  • Dòng 2: n số nguyên a1,a2,,an — quãng nhảy tối đa khi ở mỗi độ sâu.
  • Dòng 3: n số nguyên b1,b2,,bn — quãng trượt khi nghỉ ở mỗi độ sâu.

Dữ liệu ra

Nếu ếch không thể lên đến mặt đất, in 1.

Ngược lại, in một số nguyên k — số cú nhảy ít nhất, và một dòng nữa chứa k số nguyên d1,d2,,dk trong đó dj là độ sâu ếch đạt được ngay sau cú nhảy thứ j (trước khi bị trượt). Phải có dk=0. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n3·105
  • 0aii
  • 0bini

Ví dụ

Input Output Giải thích
3
0 2 2
1 1 0
2
1 0
Ếch ở độ sâu 3, nhảy lên độ sâu 1, trượt xuống độ sâu 2, sau đó nhảy lên độ sâu 0.
2
1 1
1 0
-1 Từ độ sâu 2 chỉ có thể nhảy đến 1, trượt lại xuống 2, không bao giờ thoát.
10
0 1 2 3 5 5 6 7 8 5
9 8 7 1 5 4 3 2 0 0
3
9 4 0
Dãy nhảy: 109 (trượt còn 9), 94 (trượt còn 5), 50.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0