Ước Số Riêng Của Petya

Đề bài

Mô tả

Cho n truy vấn được đánh số từ 1 đến n. Truy vấn thứ i gồm hai số nguyên xi và yi.

Với mỗi truy vấn, hãy đếm số ước dương của xi mà không chia hết cho bất kỳ giá trị nào trong dãy xi−yi,xi−yi+1,…,xi−1.

Nói cách khác, đếm số nguyên dương k sao cho:

  • k là ước của xi, và
  • k không chia hết bất kỳ giá trị xj nào với i−yi≤j≤i−1.

Nếu yi=0 thì đáp án là tổng số ước dương của xi (không cần xét các giá trị x trước đó).

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên n.
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên xi và yi cách nhau bởi dấu cách.

Dữ liệu ra

In ra n dòng, mỗi dòng là đáp án cho một truy vấn theo thứ tự nhập vào.

Ràng buộc

  • 1≤n≤105
  • 1≤xi≤105
  • 0≤yi≤i−1

Ví dụ

Input Output Giải thích
6
4 0
3 1
5 2
6 2
18 4
10000 3
3
1
1
2
2
22
Truy vấn 1: các ước của 4 không chia hết giá trị nào trước đó là {1,2,4}.
Truy vấn 2: các ước hợp lệ của 3 là {3} (ước 1 chia hết x1=4).
Truy vấn 3: các ước hợp lệ của 5 là {5}.
Truy vấn 4: các ước hợp lệ của 6 là {2,6}.
Truy vấn 5: các ước hợp lệ của 18 là {9,18}.
5
10 0
10 0
10 0
10 0
10 0
4
4
4
4
4
Vì mọi yi đều bằng 0 nên đáp án luôn là tổng số ước của 10, tức 4 ước {1,2,5,10}.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0