考慮一個包含 N 個元素的整數序列,其中:
找到兩個數值 a 和 b,使得序列 (Xa Xa+1 Xa+2 ... Xb−1 Xb) 包含從 1 到 K 的所有整數。如果有多個解,則確保 (b − a) 最小。
換句話說,找到給定序列中包含從 1 到 K 的所有整數的最小子序列。
考慮一個例子,N = 20,M = 12 和 K = 4。 序列為 {1 2 3 7 1 12 9 11 9 6 3 7 5 4 5 3 1 10 3 3}。 包含所有整數 {1 2 3 4} 的最小子序列長度為 13,並且在以下序列中高亮顯示: {1 2 3 7 1 12 9 11 9 6 3 7 5 4 5 3 1 10 3 3}。
輸入的第一行是一個整數 T(T < 100),表示測試案例的數量。每個測試案例由一行包含三個整數 N(2 < N < 1000001)、M(0 < M < 1001)和 K(1 < K < 101)組成。這些變量的含義如上所述。
對於每個測試案例,輸出案例編號以及最小的子序列長度。如果沒有有效的子序列,輸出「sequence nai」。具體格式請參考範例。
2 20 12 4 20 12 8
Case 1: 13 Case 2: sequence nai