One-sequence 수열
시간 제한1초메모리 제한128 MB
0에서 시작해 매 단계 1 또는 -1만큼 움직이는 길이 n의 수열 중 합이 S가 되는 가장 사전순으로 앞선 수열을 찾는다. 없으면 NIE를 출력한다.
문제
연속한 두 원소의 차가 항상 또는 이고 첫 번째 원소가 인 정수 수열을 one-sequence 라고 부른다. 정확히 말하면 이 one-sequence 라는 것은 다음을 만족한다는 뜻이다.
- 인 모든 에 대해 이고,
- 이다.
수열의 길이 과 원소들의 합 가 주어진다. 길이가 이고 합이 인 one-sequence 는 여러 개일 수 있으므로, 그중 사전순으로 가장 작은 수열을 출력해야 한다. 두 수열을 앞에서부터 원소끼리 비교했을 때 처음으로 달라지는 위치의 값이 더 작은 쪽이 사전순으로 앞선다( 은 항상 이므로 사실상 부터 비교가 결정된다). 길이가 이고 합이 인 one-sequence 가 존재하지 않으면 그 사실을 알려야 한다.
입력
첫째 줄에 수열의 길이 이 주어진다(). 둘째 줄에 원소들의 합 가 주어진다().
출력
길이가 이고 원소들의 합이 인 one-sequence 가 존재하면, 사전순으로 가장 작은 수열의 원소를 한 줄에 하나씩 출력한다( 번째 원소를 번째 줄에). 존재하지 않으면 NIE 를 출력한다(폴란드어로 "아니오"라는 뜻이다).