Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | triangles.in, triangles.out | Sursă | Infoarena Monthly 2012, Runda 8 |
Autor | Radu Stefan Voroneanu | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 54663 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Triangles
Fiind un baiat descurcaret, Marian are parte de foarte multe numere (uneori atit de multe, incat nu le poate face fata: aproximativ 10 milioane). Asa ca, datorita marei sale pasiuni pentru geometrie si triunghiuri reflectorizante, a compus urmatoarea problema pe care voi trebuie sa o rezolvati: se da un sir de N numere naturale si trebuie sa alegeti exact K dintre acestea, astfel incat oricare 3 numere dintre cele K alese sa poata fi laturile unui triunghi.
Date de intrare
Fişierul de intrare triangles.in contine pe prima linie 2 numere naturale N si K, separate prin cate un spatiu. Pe a doua linie se vor afla N numere naturale desparite prin cate un spatiu, reprezentand sirul de numere pe care il detine Marian.
Date de ieşire
În fişierul de ieşire triangles.out se vor afla pe prima linie K numere naturale desparite prin cate un spatiu, reprezentand numerele alese din sirul dat de N elemente.
Restricţii
- 3 ≤ N ≤ 10.000.000
- 3 ≤ K ≤ 16.000
- Numerele din sir vor fi numere naturale cuprinse in intervalul [1, 10^9]
- Daca exista mai multe moduri de alegere a numerelor, se poate afisa oricare dintre ele
- Numerele pot fi afisate in orice ordine
- Se garanteaza ca exista solutie.
Exemplu
triangles.in | triangles.out |
---|---|
5 3 3 2 1 2 3 | 2 3 3 |
Explicaţie
Alte alegeri erau corecte de asemenea, spre exemplu: 1 2 2 sau 2 2 3.