trang chủ / đề bài / cyphersub

Đoạn con có k số bằng nhau

Đề bài

Mô tả

Cho một dãy gồm n số nguyên dương a1,a2,…,an và một số nguyên dương k.

Một đoạn con a[i…j] (với 1≤i≤j≤n) là dãy các phần tử liên tiếp ai,ai+1,…,aj.

Hãy đếm số đoạn con của dãy a mà trong đó có ít nhất k phần tử mang cùng một giá trị. Nói cách khác, đoạn con a[i…j] được tính nếu tồn tại một giá trị v xuất hiện không dưới k lần trong ai,ai+1,…,aj.

Hai đoạn con được coi là khác nhau nếu cặp chỉ số (i,j) của chúng khác nhau, kể cả khi nội dung giống hệt nhau.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên n và k.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

Một số nguyên duy nhất: số đoạn con thoả mãn.

Ràng buộc

  • 1≤k≤n≤4·105
  • 1≤ai≤109

Ví dụ

Input Output Giải thích
5 3
1 2 1 1 3
2 Cần ít nhất 3 số bằng nhau. Chỉ hai đoạn con chứa đủ ba số 1: a[1…4]=(1,2,1,1) và a[1…5]=(1,2,1,1,3).
4 2
1 2 1 2
3 Ba đoạn con chứa ít nhất hai số bằng nhau: (1,2,1), (2,1,2) và (1,2,1,2).
3 1
1 1 1
6 Với k=1 thì mọi đoạn con đều thoả mãn, tổng cộng có 3·42=6 đoạn con.

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