PTIT126D - Dãy số 4

Link Sub: http://www.spoj.com/PTIT/problems/PTIT126D/
Người Gửi: ABC

  • Problem:

Cho dãy số P có k phần tử (đánh số từ 1 đến k). Nhiệm vụ của bạn là tìm dãy số A có n phần tử được hình thành từ dãy P thỏa mãn:  
-       Dãy A là dãy không giảm, A[i] luôn dương  
-       P(i) là số phần tử trong dãy A có giá trị không quá i.
Input
-       Gồm nhiều bộ test, mỗi bộ test là 1 dãy P có dạng:  Đầu tiên là số phần tử của dãy k. Sau đó là k số nguyên của dãy P ( input luôn thỏa mãn 1 ≤ k < n ≤ 26. ) 
-       Input kết thúc bởi dòng chứa số 0 duy nhất.
Output
Với mỗi bộ in, in ra trên 1 dòng dãy A.  
Các số trên cùng 1 dòng của input và output cách nhau 1 dấu cách.
Example:
Input
6 2 7 7 8 12 13
1 4
3 4 4 5
3 0 4 5
5 2 2 4 7 7
0
Output:
1 1 2 2 2 2 2 4 5 5 5 5 6
1 1 1 1
1 1 1 1 3
2 2 2 2 3
1 1 3 3 4 4 4

  • Solution:

Yêu cầu của đề khá rõ và dải số cũng không quá dài nên bài này chỉ việc in số thôi: 
- Với phần tử đầu tiên (i==1) thì in ra arr[1] phẩn tử 1; 
- Đối với các phần còn lại thì số lượng số còn lại còn thiếu so với số trước đó (ĐK: arr[i] > a[i-1]).

  • Code:

C++:



JAVA:


Share this

Related Posts

Previous
Next Post »