trang chủ / bài tập / 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

  • 1t1000
  • 1x1018

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 x7 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.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