sonde

Autori: Andrei Cotor
Publicat de: vlad
Memorie: 512.0MB/512.0MB
Timp de execuție: 1.5s
Operații IO: stdin/stdout

Fermierul Ion dorește să își extindă afacerile investind în domeniul petrolier. Pe un teren există o înșiruire de $N$ sonde numerotate de la $1$ la $N$, unde sonda cu numărul $i$ are profit egal cu $P_i$ dolari pe lună. Din motive pe care nu reușim să le deducem la ora aceasta, pentru fiecare subsecvență de sonde de lungime impară $[l, r]$, cu proprietatea că $(r – l + 1) \geq K$, el consideră sondă specială pe cea care are un profit median în această subsecvență. Ion este interesat să afle care sunt profiturile sondelor speciale, în ordine crescătoare.

Profitul median al unui subsecvențe de sonde este egal cu profitul sondei care s-ar afla pe poziția $(r + l) / 2$ dacă subsecvența ar fi sortată.

Date de intrare

Prima linie conține numărul de sonde $N$ și $K$. A doua linie conține $N$ numere întregi disticte, al $i$-lea reprezentând profitul $P_i$ al sondei cu numărul $i$.

Date de ieșire

Prima linie va conține un număr $M$, reprezentând numărul de \textit{sonde speciale}. Următoarea linie va conține $M$ valori distincte, ordonate crescător, reprezentând profiturile sondelor speciale.

Restricții și precizări

  • $1 \leq N \leq 100000$
  • $K \leq N$
  • $1 \leq N \cdot K \leq 50000000$
  • $-1000000000 \leq P_i \leq 1000000000$
  • Pentru $11$ puncte: $1 \leq N \leq 100$
  • Pentru $23$ de puncte: $1 \leq N \leq 5000$
  • Pentru $42$ de puncte: $1 \leq N \cdot K \leq 2500000$
  • Pentru $24$ de puncte: Fără restricții suplimentare

Exemple

Exemplul 1

Intrare

0 6
2 8 3 9 7 10 5 6 4 1

Ieșire

2
6 7

Explicație

Subsecvența $9$ $7$ $10$ $5$ $6$ $4$ $1$ are profitul median $6$, iar subsecvența $8$ $3$ $9$ $7$ $10$ $5$ $6$ are profitul median $7$.

Exemplul 2

Intrare

10 3
2 8 3 9 7 10 5 6 4 1

Ieșire

7
3 4 5 6 7 8 9