Chia gối

Đề bài

Mô tả

Có n chiếc giường xếp thành một hàng, đánh số từ 1 đến n, và m chiếc gối (n≤m). Mỗi giường có đúng một người nằm, và mỗi người cần ít nhất một chiếc gối.

Toàn bộ m chiếc gối đều phải được phát hết. Một người sẽ khó chịu nếu số gối của họ ít hơn số gối của một người nằm giường kề bên từ 2 chiếc trở lên.

Bạn nằm ở giường thứ k. Hãy tìm số gối lớn nhất bạn có thể nhận được, sao cho mọi người đều có ít nhất một chiếc gối, toàn bộ gối được phát hết, và không ai khó chịu.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên n, m, k lần lượt là số giường, số gối và chỉ số giường của bạn.

Dữ liệu ra

In ra một số nguyên duy nhất là số gối lớn nhất bạn có thể nhận.

Ràng buộc

  • 1≤n≤m≤109
  • 1≤k≤n

Ví dụ

Input Output Giải thích
3 10 3 4 Bạn nằm giường 3 và nhận 4 gối, hai người còn lại mỗi người 3 gối: 3+3+4=10. Nếu bạn nhận 5 gối thì cần ít nhất 3+4+5=12>10 gối.
3 6 1 3 Cách chia là 3,2,1. Người ở giường 2 có ít hơn bạn đúng 1 gối nên không khó chịu.
4 6 2 2 Cách chia là 2,2,1,1. Tổng đúng bằng 6 và hai giường kề nhau bất kỳ chênh nhau nhiều nhất 1 gối.

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