Tăng tần suất

Đề bài

Mô tả

Cho một mảng a gồm n số nguyên và một số nguyên c.

Bạn được thực hiện đúng một thao tác: chọn một đoạn [l,r] với 1≤l≤r≤n và một số nguyên k (có thể dương, âm hoặc bằng 0), rồi cộng k vào mọi phần tử trong đoạn đó, tức là ai:=ai+k với mọi l≤i≤r.

Giá trị k không bị giới hạn, và các phần tử sau khi cộng có thể nhận giá trị âm hoặc vượt ra ngoài khoảng giá trị ban đầu. Vì k=0 được phép nên bạn luôn có thể giữ nguyên mảng.

Hãy tìm số lượng phần tử mang giá trị c lớn nhất có thể đạt được sau thao tác trên.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên n và c: độ dài mảng và giá trị c cần đạt được.

Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

In ra một số nguyên duy nhất: số lượng phần tử bằng c lớn nhất có thể.

Ràng buộc

  • 1≤n≤5·105
  • 1≤c≤5·105
  • 1≤ai≤5·105

Ví dụ

Input Output Giải thích
6 9
9 9 9 9 9 9
6 Mọi phần tử đã bằng 9. Chọn đoạn bất kỳ với k=0 để giữ nguyên mảng, thu được 6 phần tử bằng 9.
3 2
6 2 6
2 Chọn đoạn [1,3] và k=−4, mảng trở thành [2,−2,2] với 2 phần tử bằng 2. Lưu ý phần tử a2=2 nằm trong đoạn nên bị phá hỏng, đổi lại hai phần tử 6 trở thành 2.
9 2
1 2 1 2 1 2 1 3 3
5 Chọn đoạn [8,9] và k=−1, mảng trở thành [1,2,1,2,1,2,1,2,2]. Ba phần tử 2 ban đầu nằm ngoài đoạn nên được giữ lại, cộng thêm hai phần tử 3 vừa biến thành 2.

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