trang chủ / đề bài / onesubstr

Hàm của Ayoub

Đề bài

Mô tả

Với một xâu nhị phân s (chỉ gồm các kí tự "0" và "1"), định nghĩa hàm f(s) là số cặp chỉ số (l,r) với 1≤l≤r≤|s| sao cho xâu con slsl+1…sr chứa ít nhất một kí tự "1".

Ví dụ, với s= "01010" thì f(s)=12.

Cho hai số nguyên n và m. Xét tất cả các xâu nhị phân s có độ dài đúng bằng n và chứa đúng m kí tự "1". Hãy tìm giá trị lớn nhất có thể của f(s).

Dữ liệu vào

  • Dòng đầu chứa một số nguyên t là số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm một dòng chứa hai số nguyên n và m.

Dữ liệu ra

  • Với mỗi bộ dữ liệu, in ra trên một dòng giá trị lớn nhất của f(s).

Ràng buộc

  • 1≤t≤105
  • 1≤n≤109
  • 0≤m≤n

Ví dụ

Input Output Giải thích
5
3 1
3 2
3 3
4 0
5 2
4
5
6
0
12
Bộ 1: xâu tốt nhất là "010", cho f=4.
Bộ 2: xâu tốt nhất là "101", cho f=5.
Bộ 4: chỉ có xâu "0000", không có kí tự "1" nên f=0.
Bộ 5: xâu tốt nhất là "01010", cho f=12.

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