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

Robin Hood

Đề bài

Mô tả

n người dân, người thứ i ban đầu có ci đồng xu.

Mỗi ngày diễn ra đúng một lần chuyển: lấy 1 đồng xu của người giàu nhất (người đang có nhiều xu nhất) và đưa cho người nghèo nhất (người đang có ít xu nhất, xét sau khi đã lấy xu của người giàu nhất). Nếu có nhiều người cùng giàu nhất hoặc cùng nghèo nhất thì chọn tuỳ ý một người trong số đó, cách chọn này không ảnh hưởng đến kết quả.

Sau đúng k ngày, hãy tính hiệu số xu giữa người giàu nhất và người nghèo nhất.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk.
  • Dòng thứ hai chứa n số nguyên c1,c2,,cn.

Dữ liệu ra

  • Một số nguyên duy nhất: hiệu giữa số xu của người giàu nhất và người nghèo nhất sau k ngày.

Ràng buộc

  • 1n500000
  • 0k109
  • 1ci109

Ví dụ

Input Output Giải thích
4 1
1 1 4 2
2 Sau ngày 1, mảng có thể thành [2,1,3,2] hoặc [1,2,3,2]. Hiệu là 31=2.
3 1
2 2 2
0 Mọi người có số xu bằng nhau nên trạng thái không đổi, hiệu là 0.
2 0
182 2
180 Không có ngày nào diễn ra, hiệu giữ nguyên 1822=180.

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