아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Šetnja

시간 제한1초메모리 제한1024 MB

요약
직선 위의 집 X에서 Y로 이동하는 경로 중 각 집 i를 정확히 A_i번 방문하는 경로를 찾는다.
난이도

보통10점 중 7점

유형
그래프, 그리디, 구현
정답자
아직 제출이 없습니다

문제

U ulici jorgovana nalazi se NN kuća poredanih slijeva nadesno označenih redom prirodnim brojevima od 11 do NN. Mirko se trenutno nalazi kod kuće s oznakom XX i želi doći do kuće s oznakom YY. Smije se kretati lijevo i desno, odnosno kad se nalazi kod neke kuće može otići do jedne od najviše dviju susjednih kuća.

Budući da voli duge noćne šetnje po mjesečini i pod zvjezdanim nebom, te zavirivanje u tuđa dvorišta odlučio je šetati od kuće XX do kuće YY na način da kuću s oznakom i posjeti točno A_iA\_i puta.

Mirku baš i ne ide snalaženje u prostoru pa te moli da osmisliš takvu šetnju umjesto njega. I šetnje koje ne posjete svaku kuću traženi broj puta donijet će neki broj bodova pa pozorno promotri sekciju BODOVANJE.

입력

U prvom retku redom nalaze se prirodni brojevi NN (1≤N≤100,0001 ≤ N ≤ 100\\,000), XX (1≤X≤N1 ≤ X ≤ N) i YY (1≤Y≤N1 ≤ Y ≤ N), brojevi iz teksta zadatka.

U drugom retku nalazi se niz od NN prirodnih brojeva A_iA\_i (1≤A_i≤100,0001 ≤ A\_i ≤ 100\\,000), niz iz teksta zadatka. Zbroj A_1+A_2+⋯+A_nA\_1 + A\_2+ \dots + A\_n bit će manji ili jednak 100,000100\\,000.

출력

U prvom retku ispiši broj KK (1≤K≤200,0001 ≤ K≤ 200\\,000), duljinu tvoje predložene šetnje.

U drugom retku ispiši niz od KK prirodnih brojeva B_kB\_k (1≤B_k≤N1 ≤ B\_k ≤ N, k=1…Kk=1\dots K) koji opisuju Mirkovu šetnju, tj. redom one kuće koje će Mirko posjetiti.

Da bi ispis bio valjan mora vrijediti:

  • B_1=XB\_1 = X jer mora krenuti od XX-te kuće;
  • B_K=YB\_K = Y jer mora završiti kod YY-te kuće;
  • ∣B_i−B_i−1∣=1|B\_i - B\_{i-1}| = 1 za i=2,…,Ki=2,\dots , K jer se u svakom koraku smije i mora pomaknuti do susjedne kuće.

Ulazni podaci bit će takvi da rješenje postoji.

힌트

Opis trećeg primjera: Mirko će redom posjetiti kuće 3, 4, 5, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 4. Na taj način krenut će od treće i završit u četvrtoj kao što je i želio. Prvu kuću posjetit će jednom, drugu dva puta, treću tri puta, četvrtu četiri puta, petu tri puta i šestu jednom.

예제3

  1. 예제 1

    입력
    3 2 2
    1 3 1
    
    예상 출력
    5
    2 3 2 1 2
    
  2. 예제 2

    입력
    5 1 5
    1 1 1 1 1
    
    예상 출력
    5
    1 2 3 4 5
    
  3. 예제 3

    입력
    6 3 4
    1 2 3 4 3 1
    
    예상 출력
    14
    3 4 5 6 5 4 3 2 1 2 3 4 5 4