Do đã quá quen với dãy fibonacci, hôm nay, chúng ta hãy cùng tìm hiểu về dãy tribonacci.
Số tribonacci thứ i sẽ có công thức truy hồi như sau: f[i] = f[i - 1] + f[i - 2] + f[i - 3] nếu i > 3, ngược lại f[i] = i nếu i ≤ 3.
Cho n số tribonacci đầu tiên và một số k (k ≤ n), hay tìm một dãy con bất kì (không nhất thiết phải liên tiếp) của dãy n số tribonacci này sao cho tổng của các phần tử trong dãy con đó chia hết cho k.
Input:
• Gồm một dòng chứa số nguyên dương n và số nguyên dương k (1 ≤ k ≤ n ≤ 10^5)
Output:
• Dòng đầu in ra số q là độ dài của dãy con thỏa mãn tìm được, nếu không tồn tại in ra -1.
• Dòng thứ hai in ra q chỉ số của dãy con tìm được.
• Nếu có nhiều hơn một dãy con thỏa mãn, in ra bất kì kết quả nào.
Input:
5 4
Output:
2
2 4
Giải thích:
• 5 phần tử đầu tiên của dãy tribonacci là: 1 2 3 6 11
• Chọn ra phần tử thứ 2 và 4 có tổng bằng: 2 + 6 = 8 chia hết cho 4.
Bình luận