bile

Time limit: 0.02s Memory limit: 8MB Input: bile.in Output: bile.out

Presupunem că avem două cutii notate AA și BB. Cutia AA conține NN bile numerotate cu numerele naturale distincte: 0,1,2,N10, 1, 2, \dots N-1. Cutia BB este goală.

Spunem că o bilă dintr-o cutie este bila specială a acestei cutii dacă numarul XX cu care este numerotată aceasta bilă este egal cu media aritmetică a numerelor celorlalte bile din cutie.

La un moment dat, cineva mută bila cu numărul KK din cutia AA în cutia BB.

Vi se cere să alegeți alte KK bile, din cutia AA, pe care să le mutați în cutia BB astfel în cutia BB astfel încât cutia BB să conțină K+1K + 1 bile, iar bila cu numărul KK să fie bila specială a cutiei BB.

Cerință

Scrieți un program care citește numerele NN și KK, apoi determină:

  1. dacă, înainte să fie mutate bile din cutia AA în cutia BB, există o bilă specială în cutia AA; în caz afirmativ, programul determină numărul XX cu care este numerotată această bilă specială.
  2. cel mai mic (în sens lexicografic) șir strict crescător al numerelor celor KK bile care pot fi mutate din cutia AA în cutia BB astfel încât cu numărul KK să fie bila specială a cutiei BB.
  3. cel mai mare (în sens lexicografic) șir strict crescător al numerelor celor KK bile care pot fi mutate din cutia AA în cutia BB astfel încât bila cu numărul KK să fie bila specială a cutiei BB.

Date de intrare

Fișierul de intrare bile.in conține pe prima linie trei numere naturale C,NC, N și KK, separate prin câte un spațiu. CC reprezintă cerința care trebuia rezolvată (1, 2 sau 3), iar NN și KK au semnificația din enunț.

Date de ieșire

Fișierul de ieșire bile.out va conține:

  • dacă C=1C = 1, pe prima linie, numărul natural XX reprezentând numărul bilei speciale din cutia AA sau valoarea 1-1 dacă cutia AA nu conține o astfel de bilă (reprezentând răspunsul la cerința 1);
  • dacă C=2C = 2, pe prima linie, un șir crescător de KK numere naturale, separate prin câte un spațiu (reprezentând răspunsul la cerința 2);
  • dacă C=3C = 3, pe prima linie, un șir crescător de KK numere naturale, separate prin câte un spațiu (reprezentând răspunsul la cerința 3);

Restricții și precizări

  • NN număr natural, 4N100 0004 \leq N \leq 100 \ 000
  • KK un număr natural 2KN22 \leq K \leq \frac{N}{2}
  • Șirul y1,y2,yky_1, y_2, \dots y_k este mai mic în sens lexicografic decât șirul z1,z2,zkz_1, z_2, \dots z_k dacă există un indice pp, 1pK1 \leq p \leq K, astfel încat: y1=z1,y2=z2,yp1=zp1y_1 = z_1, y_2 = z_2, \dots y_{p-1} = z_{p-1} și yp<zpy_p < z_p
  • Pentru cerința 1 se acordă 20p, iar pentru fiecare dintre cerințele 2 și 3 se acordă câte 40p.

Exemplul 1

bile.in

1 9 3

bile.out

4

Explicație

Se rezolvă cerința 1.
N=9N = 9.
Avem 9 bile inscripționate cu 0,1,2,3,4,5,6,7,80, 1, 2, 3, 4, 5, 6, 7, 8.
Bilă specială este X=4X = 4 deoarece:
X=(0+1+2+3+4+5+6+7+8)8=328=4X = \frac{(0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8)}{8} = \frac{32}{8} = 4.

Exemplul 2

bile.in

1 8 3

bile.out

-1

Explicație

Se rezolvă cerința 1.
N=8N = 8.
Se va scrie în fișierul de ieșire valoarea 1-1 deoarece cutia AA nu conține nicio bilă specială.

Exemplul 3

bile.in

2 8 3

bile.out

0 2 7

Explicație

Se rezolvă cerința 2.
N=8N = 8.
Șirurile strict crescătoare ale numerelor bilelor care pot fi mutate în cutia BB, lângă bila specială K=3K = 3, sunt: 0,2,70, 2, 7 sau 0,4,50, 4, 5 sau 1,2,61, 2, 6, deoarece:
3=(0+2+7)3=(0+4+5)3=(1+2+6)33 = \frac{(0 + 2 + 7)}{3} = \frac{(0 + 4 + 5)}{3} = \frac{(1 + 2 + 6)}{3}
Cel mai mic șir în sens lexicografic, crescător, este 0,2,70, 2, 7.

Exemplul 4

bile.in

3 8 3

bile.out

1 2 6

Explicație

Se rezolvă cerința 3.
N=8N = 8.
ecială.

Șirurile strict crescătoare ale numerelor bilelor care pot fi mutate în cutia BB, lângă bila specială K=3K = 3, sunt: 0,2,70, 2, 7 sau 0,4,50, 4, 5 sau 1,2,61, 2, 6, deoarece:
3=(0+2+7)3=(0+4+5)3=(1+2+6)33 = \frac{(0 + 2 + 7)}{3} = \frac{(0 + 4 + 5)}{3} = \frac{(1 + 2 + 6)}{3}
Cel mai mare șir în sens lexicografic, crescător, este 1261 2 6.

Log in or sign up to be able to send submissions!