trang chủ / đề bài / numtrans2

Biến đổi số II

Đề bài

Mô tả

Cho một dãy số nguyên dương x1,x2,…,xn và hai số nguyên không âm a và b. Nhiệm vụ của bạn là biến a thành b. Để làm điều đó, bạn có thể thực hiện các phép biến đổi sau đây trên giá trị a hiện tại:

  • Trừ 1 khỏi a;
  • Chọn một chỉ số i (1≤i≤n) và trừ amodxi khỏi a.

Ở đây amodxi là số dư của phép chia a cho xi.

Hãy tìm số phép biến đổi ít nhất cần thực hiện để biến a thành b.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên x1,x2,…,xn.
  • Dòng thứ ba chứa hai số nguyên a và b.

Dữ liệu ra

  • In ra một số nguyên duy nhất — số phép biến đổi ít nhất cần thực hiện để biến a thành b.

Ràng buộc

  • 1≤n≤105
  • 2≤xi≤109
  • 0≤b≤a≤109
  • a−b≤106

Ví dụ

Input Output Giải thích
3
3 4 5
30 17
6 Một cách tối ưu: 30→25 (trừ 30mod5=5), 25→24, 24→20 (trừ 24mod4), 20→18 (trừ 20mod3)... tổng cộng 6 bước để về 17.
3
5 6 7
1000 200
206 Cần 206 phép biến đổi để đưa 1000 về 200.

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