Tổng các mảng

Đề bài

Mô tả

Cho một mảng không giảm gồm n số nguyên không âm a1,a2,…,an và một số nguyên dương k.

Bạn cần tìm m mảng không giảm gồm các số nguyên không âm b1,b2,…,bm sao cho:

  • Mỗi mảng bi có đúng n phần tử (với mọi 1≤i≤m).
  • Với mọi 1≤j≤n: aj=b1,j+b2,j+…+bm,j. Nói cách khác, a là tổng của các mảng bi.
  • Số phần tử phân biệt trong mỗi mảng bi không vượt quá k (với mọi 1≤i≤m).

Hãy tìm giá trị nhỏ nhất có thể của m, hoặc cho biết không tồn tại m như vậy.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t: số lượng bộ dữ liệu.
  • Mỗi bộ dữ liệu gồm hai dòng:
    • Dòng thứ nhất chứa hai số nguyên n, k.
    • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một số nguyên duy nhất: giá trị nhỏ nhất của m. Nếu không tồn tại m, in ra −1.

Ràng buộc

  • 1≤t≤100
  • 1≤n≤100
  • 1≤k≤n
  • 0≤a1≤a2≤…≤an≤100, an>0

Ví dụ

Input Output Giải thích
6
4 1
0 0 0 1
3 1
3 3 3
11 3
0 1 2 2 3 3 3 4 4 4 4
5 3
1 2 3 4 5
9 4
2 2 3 5 7 11 13 13 17
10 7
0 1 1 2 3 3 4 5 5 6
-1
1
2
2
2
1
Bộ 1: mọi mảng bi chỉ được có 1 giá trị phân biệt nên đều là hằng số, tổng các hằng số vẫn là hằng số, không thể tạo ra a4=1 trong khi a1=0. Bộ 3: có thể chọn b1=[0,1,1,1,2,2,2,2,2,2,2] và b2=[0,0,1,1,1,1,1,2,2,2,2], mỗi mảng có đúng 3 giá trị phân biệt.
3
4 3
0 1 2 3
5 3
1 2 3 4 5
2 2
1 100
2
2
1
Bộ 1: mảng a có 4 giá trị phân biệt, mỗi bi chỉ chứa tối đa 3 giá trị nên một mảng là không đủ, cần 2 mảng. Bộ 3: b1=[1,100] có 2 giá trị phân biệt ≤k=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