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

Săn áo phông

Đề bài

Mô tả

Trong một kỳ thi lập trình, top 25 người dẫn đầu cùng với 25 người được chọn ngẫu nhiên trong top 500 sẽ nhận được áo phông kỷ niệm. Bạn không lọt vào top 25 nhưng đứng ở vị trí p trong top 500.

Danh sách 25 người may mắn được chọn theo đoạn giả mã sau, trong đó s là số điểm của người thắng vòng loại đang diễn ra:

i := (s div 50) mod 475
lặp lại 25 lần:
    i := (i * 96 + 42) mod 475
    in ra (26 + i)

Ở đây "div" là phép chia lấy nguyên, "mod" là phép chia lấy dư. Đoạn giả mã in ra 25 số nguyên phân biệt nằm trong đoạn [26,500], đó chính là các vị trí được nhận áo. Người ở vị trí p nhận được áo khi và chỉ khi p xuất hiện trong 25 số này.

Bạn đang dẫn đầu vòng loại với x điểm và cho rằng chỉ cần đạt ít nhất y điểm là đủ để chiến thắng. Bạn có thể thực hiện các lần hack:

  • Mỗi lần hack thành công cộng thêm 100 điểm.
  • Mỗi lần hack thất bại trừ đi 50 điểm.

Bạn được thực hiện số lần hack thành công và thất bại tùy ý. Điểm cuối cùng của bạn phải đạt ít nhất y (để thắng vòng loại) và đồng thời phải làm cho vị trí p được nhận áo (điểm cuối cùng đóng vai trò s trong giả mã). Hãy tìm số lần hack thành công ít nhất cần thực hiện. Dữ liệu đảm bảo luôn có lời giải.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên p, x, y: vị trí của bạn trong top 500, số điểm hiện tại, và số điểm tối thiểu bạn cho là đủ để thắng.

Dữ liệu ra

In ra một số nguyên duy nhất: số lần hack thành công ít nhất cần thực hiện.

Ràng buộc

  • 26p500
  • 1yx20000

Ví dụ

Input Output Giải thích
239 10880 9889 0 Với 10880 điểm, đoạn giả mã in ra các vị trí trong đó có 239, nên không cần hack lần nào.
26 7258 6123 2 Thực hiện 2 hack thành công và 1 hack thất bại để về 7258+20050=7408 điểm, khi đó vị trí 26 được nhận áo.
493 8000 8000 24 Cần tới 24 hack thành công để về 8000+2400=10400 điểm.
101 6800 6500 0 Chỉ cần 6 hack thất bại (không cần hack thành công) để về 6500 điểm, vừa đủ thắng và cũng được nhận áo.

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