9.29.2017

Dãy con chia hết hoàn toàn

Một dãy số nguyên A gồm n phần tử: a1, a2, ..., an được gọi là dãy chia hết hoàn toàn nếu A có ít nhất hai phần tử và mọi phần tử aj đều chia hết cho tất cả các phần tử ai đứng trước nó (1<=i<j<=N).
Hãy tìm cách xóa bỏ trong dãy A một số phần tử sao cho dãy số thu được (dãy con) là một dãy con chia hết hoàn toàn của A có độ dài lớn nhất.
Dữ liệu vào: Cho trong file văn bản daycon.inp gồm 2 dòng:
   - Dòng đầu tiên chứa số nguyên dương N (1<=N<=10000), là số phần tử của dãy A.
   - Dòng thứ hai gồm N số nguyên a1, a2, ..., an (-10000<=ai<=10000), các số được viết cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản daycon.out:
   - Nếu tìm được dãy con chia hết hoàn toàn thì file daycon.out gồm 2 dòng:
       + Dòng đầu: Ghi độ dài của dãy con chia hết hoàn toàn dài nhất tìm được.
       + Dòng thứ hai: Ghi các phần tử của dãy con tìm được, mỗi phần tử cách nhau một dấu cách.
   - Nếu không tìm được dãy con chia hết hoàn toàn thì file daycon.out chỉ ghi duy nhất số -1.
Ví dụ:
   daycon.inp                         daycon.out
   8                                         4
   3 5 9 7 15 18 35 54            3 9 18 54

                                                            Lời giải tham khảo

2 comments:

Cảm ơn bạn đã nhận xét