trang chủ / bài tập / randteam

Chia đội ngẫu nhiên

Đề bài

Mô tả

n thí sinh tham gia một cuộc thi và được chia vào m đội sao cho mỗi đội có ít nhất một thí sinh. Sau cuộc thi, mọi cặp thí sinh cùng đội sẽ trở thành bạn của nhau.

Hãy tìm số cặp bạn nhỏ nhất (kmin) và số cặp bạn lớn nhất (kmax) có thể tạo thành sau cuộc thi, xét trên mọi cách chia n thí sinh vào m đội.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên nm (1mn109) — số thí sinh và số đội.

Dữ liệu ra

Một dòng chứa hai số nguyên kminkmax — số cặp bạn nhỏ nhất và lớn nhất có thể có.

Ràng buộc

  • 1mn109

Ví dụ

Input Output Giải thích
5 1 10 10 Tất cả 5 thí sinh vào cùng một đội, tạo thành (52)=10 cặp bạn.
3 2 1 1 Một đội luôn có 2 người, đội còn lại 1 người. Luôn có đúng 1 cặp bạn.
6 3 3 6 Tối thiểu: chia đều 2-2-2 cho 3 cặp. Tối đa: chia 4-1-1 cho (42)=6 cặp.

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