trang chủ / đề bài / addornot

Tăng hay không tăng

Đề bài

Mô tả

Cho một dãy gồm n số nguyên a1,a2,…,an. Nhiệm vụ của bạn là tìm số xuất hiện nhiều lần nhất trong dãy.

Tuy nhiên, trước khi đếm, bạn được phép thực hiện không quá k thao tác. Mỗi thao tác là: chọn một phần tử bất kỳ của dãy và tăng nó lên 1. Bạn có thể tăng cùng một phần tử nhiều lần.

Hãy tìm số lần xuất hiện lớn nhất của một giá trị nào đó trong dãy sau khi thực hiện tối đa k thao tác. Nếu có nhiều giá trị cùng đạt số lần xuất hiện lớn nhất đó, hãy chọn giá trị nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k: số phần tử của dãy và số thao tác tối đa được phép thực hiện.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

In ra một dòng gồm hai số cách nhau bởi dấu cách: số lần xuất hiện lớn nhất đạt được, và giá trị nhỏ nhất đạt được số lần xuất hiện đó.

Ràng buộc

  • 1≤n≤105
  • 0≤k≤109
  • |ai|≤109

Ví dụ

Input Output Giải thích
3 4
5 5 5
3 5 Không cần thao tác nào: dãy 5,5,5 đã có 5 xuất hiện 3 lần. Nếu tăng cả ba phần tử lên 1 ta được 6,6,6, cũng đạt 3 lần, nhưng 5<6 nên đáp án là 5.
5 3
6 3 4 0 2
3 4 Tăng phần tử thứ hai lên 1 lần và phần tử thứ năm lên 2 lần, được dãy 6,4,4,0,4. Giá trị 4 xuất hiện 3 lần, dùng hết đúng 3 thao tác.
5 3
3 1 2 2 1
4 2 Tăng phần tử thứ hai và phần tử thứ năm lên 1 lần, được dãy 3,2,2,2,2. Giá trị 2 xuất hiện 4 lần.

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