Trạng thái

Đề bài

Cho một dãy số nguyên dương gồm \(N\) phần tử \(a_1, a_2, \ldots, a_N\)\(Q\) truy vấn.

Mỗi truy vấn gồm 2 số nguyên dương \(p\)\(k\). Trong một lượt hành động bạn phải thực hiện phép gán:

\[ p = p + a_p + k \]

Yêu cầu: Với mỗi truy vấn, hãy tính số lần thực hiện hành động tối thiểu để \(p > N\).

Dữ liệu vào

  • Dòng đầu tiên gồm một số nguyên dương \(N\) (\(1 \leq N \leq 10^5\)) — số phần tử của dãy.
  • Dòng thứ hai gồm \(N\) số nguyên dương \(a_1, a_2, \ldots, a_N\) (\(1 \leq a_i \leq N\)).
  • Dòng thứ ba gồm số nguyên dương \(Q\) (\(1 \leq Q \leq 10^5\)) — số lượng truy vấn.
  • \(Q\) dòng tiếp theo, mỗi dòng gồm hai số nguyên dương \(p\)\(k\) (\(1 \leq p, k \leq N\)).

Dữ liệu ra

  • Đối với mỗi truy vấn, in ra số lần thực hiện hành động tối thiểu để \(p > N\).

Giới hạn

  • Subtask 1 [20% số test]: \(N, Q \leq 10^3\)
  • Subtask 2 [30% số test]: \(a_1 = a_2 = \ldots = a_N\)
  • Subtask 3 [50% số test]: \(N, Q \leq 10^5\)

Sample Input 1

3
1 1 1
3
1 1
2 1
3 1

Sample Output 1

2
1
1

Giải thích

  • Truy vấn 1: Bắt đầu tại \(p = 1\), thực hiện \(p = p + a_p + k = 1 + 1 + 1 = 3\), sau đó \(p = 3 + 1 + 1 = 5 > 3\), cần 2 bước.
  • Truy vấn 2: \(p = 2 + 1 + 1 = 4 > 3\), cần 1 bước.
  • Truy vấn 3: \(p = 3 + 1 + 1 = 5 > 3\), cần 1 bước.
Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.25s
Giới hạn bộ nhớ:
250 M
I/O
Không xác định
Loại đề bài
Chưa xác định
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text