Kẹo trong hộp

Đề bài

Mô tả

Trong hộp có n chiếc kẹo. Hai người cùng lấy kẹo theo quy trình sau, lặp đi lặp lại cho tới khi hộp rỗng.

Đầu tiên, người thứ nhất chọn một số nguyên k (cố định cho mọi ngày). Sau đó, mỗi ngày:

  • Buổi sáng, người thứ nhất lấy k chiếc kẹo từ hộp. Nếu trong hộp còn ít hơn k chiếc, người thứ nhất lấy hết số kẹo còn lại.
  • Buổi tối, người thứ hai lấy 10% số kẹo còn lại trong hộp. Nếu số kẹo còn lại không chia hết cho 10 thì người thứ hai làm tròn xuống (ví dụ còn 97 chiếc thì người thứ hai chỉ lấy 9 chiếc). Đặc biệt, nếu trong hộp còn ít hơn 10 chiếc thì người thứ hai không lấy chiếc nào.

Quá trình dừng lại khi hộp không còn chiếc kẹo nào.

Hãy tìm giá trị k nguyên nhỏ nhất để người thứ nhất lấy được ít nhất một nửa trong tổng số n chiếc kẹo ban đầu.

Dữ liệu vào

Một dòng duy nhất chứa số nguyên n là số kẹo ban đầu trong hộp.

Dữ liệu ra

In ra một số nguyên duy nhất là giá trị k nhỏ nhất thỏa mãn.

Ràng buộc

  • 1n1018

Ví dụ

Input Output Giải thích
68 3 Với k=3, số kẹo trong hộp thay đổi như sau (người thứ nhất lấy trước): 686559565148444137330. Tổng cộng người thứ nhất lấy 39 chiếc, người thứ hai lấy 29 chiếc. Vì 3934 nên k=3 thỏa mãn, và không có k nhỏ hơn nào đạt được.
6 1 Với k=1, mỗi sáng lấy 1 chiếc; hộp luôn còn ít hơn 10 chiếc nên người thứ hai không lấy gì. Người thứ nhất lấy trọn cả 6 chiếc, nhiều hơn một nửa, nên k=1 là nhỏ nhất.
1000000000000000000 39259424579862572 Trường hợp biên với n=1018: với k này người thứ nhất lấy đúng 5·1017 chiếc, tức tròn một nửa, nên vẫn thỏa mãn "ít nhất một nửa".

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