Dažymas skaičiais

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Martynas per atostogas labai susidomėjo vienmatėmis „Dažymas skaičiais“ užduotimis. Šios užduotys apibrėžiamos taip:

  • turime $1 \times W$ dydžio tinklelį;

  • turime $N$ sveikųjų skaičių $1 ≤ a_1, a_2, \dots , a_N$;

  • tinklelį reikia užpildyti iš kairės į dešinę:

    • paliekant jame nulį ar daugiau tuščių langelių;

    • kiekvienam $i = 1\dots N - 1$

      • nuspalvinant $a_i$ iš eilės einančių langelių;
      • paliekant vieną ar daugiau tuščių langelių;
    • galiausiai nuspalvinant $a_N$ iš eilės einančių langeliu;

    • paliekant nulį ar daugiau tuščių langelių.

Parašykite programą, kuri „Dažymas skaičiais“ užduočiai rastų langelius, kurie yra užpildyti visuose galimuose sprendiniuose.

입력

Pirmoje eilutėje įrašyti du sveikieji skaičiai: tinklelio plotis $W$ ir nuspalvintų grupių skaičius $N$.

Antroje eilutėje pateikta $N$ tarpais atskirtų sveikųjų skaičių $a_1, a_2, \dots , a_N$.

출력

Pirmoje eilutėje išveskite vieną sveikąjį skaičių: kiek langelių bus užpildyta visuose galimuose sprendiniuose.

Antroje eilutėje didėjimo tvarka išveskite langelių, užpildytų visuose galimuose sprendiniuose, numerius.

제한

  • $1 ≤ N ≤ 10\,000$
  • $1 ≤ W, a_i ≤ 1\,000\,000$
  • Testai tokie, kad užduotį visada bus įmanoma išspręsti bent vienu būdu, t. y. galioja $N - 1 + (a_1 + a_2 + \cdots + a_N ) ≤ W$.