Enunț
Presupunem că avem două cutii notate A și B. Cutia A conține N bile numerotate cu numerele naturale distincte: 0, 1, 2, . . . , N − 1. Cutia B este goală.
Spunem că o bilă dintr-o cutie este bila specială a acestei cutii dacă numărul X cu care este numerotată această bilă este egal cu media aritmetică a numerelor celorlalte bile din cutie.
La un moment dat, cineva mută bila cu numărul K din cutia A în cutia B.
Vi se cere să alegeți alte K bile, din cutia A, pe care să le mutați în cutia B astfel încât cutia B să conțină K + 1 bile, iar bila cu numărul K să fie bila specială a cutiei B.
Cerința
Scrieți un program care citește numerele N și K, apoi determină:
- dacă, înainte să fie mutate bile din cutia
Aîn cutiaB, există o bilă specială în cutiaA; în caz afirmativ, programul determină numărulXcu care este numerotată această bilă specială; - cel mai mic (în sens lexicografic) șir strict crescător al numerelor celor
Kbile care pot fi mutate din cutiaAîn cutiaBastfel încât bila cu numărulKsă fie bila specială a cutieiB; - cel mai mare (în sens lexicografic) șir strict crescător al numerelor celor
Kbile care pot fi mutate din cutiaAîn cutiaBastfel încât bila cu numărulKsă fie bila specială a cutieiB.
Date de intrare
Fișierul de intrare bile4.in conține pe prima linie trei numere naturale C, N și K, separate prin câte un spațiu. C reprezintă cerința care trebuie rezolvată (1, 2 sau 3), iar N și K au semnificația din enunț.
Date de ieșire
Fișierul de ieșire bile4.out va conține:
- dacă
C = 1, pe prima linie, numărul natural X reprezentând numârul bilei speciale din cutiaAsau valoarea−1dacă cutiaAnu conține o astfel de bilă (reprezentând răspunsul la cerința1); - dacă
C = 2, pe prima linie, un șir strict crescător deKnumere naturale, separate prin câte un spațiu (reprezentând răspunsul la cerința2); - dacă
C = 3, pe prima linie, un șir strict crescător deKnumere naturale, separate prin câte un spațiu (reprezentând răspunsul la cerința3).
Restricții și precizări
1 ≤ n ≤ 1000- numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât
1.000.000.000 Nnumăr natural,4 ≤ N ≤ 100000Knumăr natural,2 ≤ K ≤ N/2- Șirul
y1,y2, . . . ,ykeste mai mic în sens lexicografic decât șirulz1,z2, . . . ,zkdacă există un indicep,1 ≤ p ≤ K, astfel încât:
y1= z1,y2= z2, . . . ,yp-1= zp-1șiyp= zp - Pentru cerința
1se acordă20p, iar pentru fiecare dintre cerințele2și3se acordă câte40p.
Exemplul 1:
bile4.in
1 9 3
bile4.out
4
Explicație
Se rezolvă cerința 1.
N = 9. Avem 9 bile inscript, ionate cu 0, 1, 2, 3, 4, 5, 6, 7, 8.
Bila specială este X = 4 deoarece: X = (0 + 1 + 2 + 3 + 5 + 6 + 7 + 8)/8 = 32/8 = 4
Exemplul 2:
bile4.in
1 8 3
bile4.out
-1
Explicație
Se rezolvă cerința 1.
N = 8. Se va scrie în fișierul de ieșire valoarea −1 deoarece cutia A nu conține nicio bilă specială.
Exemplul 3:
bile4.in
2 8 3
bile4.out
0 2 7
Explicație
Se rezolvă cerința 2.
N = 8. Avem 8 bile inscripționate cu 0, 1, 2, 3, 4, 5, 6, 7.
Șirurile strict crescătoare ale numerelor bilelor care pot fi mutate în cutia B, lângă bila specială K = 3, sunt: 0, 2, 7 sau 0, 4, 5 sau 1, 2, 6, deoarece: 3 = (0 + 2 + 7)/3 = (0 + 4 + 5)/3 = (1 + 2 + 6)/3.
Cel mai mic șir în sens lexicografic, crescător, este: 0, 2, 7.
Exemplul 4:
bile4.in
3 8 3
bile4.out
1 2 6
Explicație
Se rezolvă cerința 3.
Șirurile strict crescătoare ale numerelor bilelor care pot fi mutate în cutia B, lângă bila specială K = 3, sunt: 0, 2, 7 sau 0, 4, 5 sau 1, 2, 6, deoarece: 3 = (0 + 2 + 7)/3 = (0 + 4 + 5)/3 = (1 + 2 + 6)/3.
Cel mai mare șir în sens lexicografic, crescător, este: 1, 2, 6.