trang chủ / đề bài / nicestair

Cầu thang đẹp

Đề bài

Mô tả

Một cầu thang n bậc là hình gồm n cột ô vuông đặt cạnh nhau: cột thứ nhất cao 1 ô, cột thứ hai cao 2 ô, ..., cột thứ n cao n ô. Đáy của mọi cột nằm trên cùng một hàng. Như vậy cầu thang n bậc gồm n(n+1)2 ô.

Cầu thang n bậc được gọi là đẹp nếu nó có thể được phủ kín bởi đúng n hình vuông rời nhau, mỗi hình vuông chỉ gồm các ô thuộc cầu thang.

Cho x ô vuông, hãy tìm số lượng lớn nhất các cầu thang đẹp đôi một khác nhau (khác nhau về số bậc) có thể xây, sao cho tổng số ô dùng không vượt quá x. Mỗi ô chỉ được dùng cho nhiều nhất một cầu thang.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t: số lượng bộ dữ liệu.
  • Mỗi dòng trong t dòng tiếp theo chứa một số nguyên x.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên: số lượng cầu thang đẹp khác nhau nhiều nhất có thể xây.

Ràng buộc

  • 1≤t≤1000
  • 1≤x≤1018

Ví dụ

Input Output Giải thích
4
1
8
6
1000000000000000000
1
2
1
30
Với x=1: chỉ xây được cầu thang 1 bậc. Với x=8: xây cầu thang 1 bậc và cầu thang 3 bậc, hết 1+6=7 ô; còn dư 1 ô nhưng không đủ cho cầu thang đẹp nào khác. Với x=6: chỉ xây được một trong hai (cầu thang 1 bậc hoặc 3 bậc), vì cầu thang 2 bậc không đẹp.
6
2
3
4
5
6
7
1
1
1
1
1
2
Cầu thang đẹp nhỏ nhất tốn 1 ô, cầu thang đẹp tiếp theo tốn 6 ô. Vì vậy chỉ khi x≥7 mới xây được 2 cầu thang.

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