Fişierul intrare/ieşire:danger.in, danger.outSursăAlgoritmiada 2016, Runda Finala, Seniori
AutorAdrian BudauAdăugată defreak93Adrian Budau freak93
Timp execuţie pe test0.4 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Danger

La şcoala generală numărul 2016 sunt exact N clase formate din M copii. Deoarece cele N clase nu prea interacţioneaza pe parcursul anului directorul şcolii a decis sa reorganizeze copiii in M clase, fiecare formate din N copii în aşa fel încât să nu existe 2 copii care iniţial erau în aceeaşi clasa, iar după reorganizare se află tot în aceeaşi clasă.
Pe deasupra directorul ştie pentru fiecare copil care este riscul pe care îl adauga într-o clasa. Riscul unei clase este dat de maximul sumei riscurilor a doi copii din acea clasa. Astfel dacă într-o clasa se afla 3 copii cu riscurile 1, 2 şi 3, riscul acelei clase este 5 = 2 + 3.

Directorul vă roagă sa-i spuneţi cum să reorganizeze copiii în aşa fel încat cel mai mare risc al unei clase sa fie minim, iar in schimb va promite 100 de puncte.

Date de intrare

Fişierul de intrare danger.in va conţine pe prima linie 2 numere N si M reprezentând numărul iniţial de clase si respectiv numărul iniţial de copii din fiecare clasă.
Urmatoarele N linii vor conţine M numere naturale fiecare reprezentând riscurile copiilor. Fiecare rând din aceste N va conţine riscurile copiilor dintr-o singură clasă.

Date de ieşire

În fişierul de ieşire danger.out trebuie să se afle M linii, iar pe fiecare din aceste M linii trebuie să se afle N numere, reprezentând riscurile copiilor din fiecare clasă dupa reorganizare. A j-a valoare de pe rândul i va reprezenta riscul unui copil care iniţial se afla in clasa j.

Restricţii

  • 2 ≤ N, M, N * M ≤ 100.000
  • 1 ≤ riscul unui copil ≤ 1.000.000.000
  • Orice soluţie corectă care minimizează cel mai mare risc al claselor este corecta
  • Pentru teste care valorează 5 puncte N, M ≤ 4
  • Pentru teste care valoreaza alte 5 puncte N ≤ 2
  • Pentru teste care valoreaza alte 20 de puncte N ≤ 3
  • Pentru teste care valoreaza 80 de puncte N * M ≤ 15.000

Exemplu

danger.indanger.out
3 3
1 2 3
3 1 2
2 1 3
1 2 3
2 3 1
3 1 2
2 3
1 5 8
3 3 3
1 3
5 3
8 3

Explicaţie

Pentru primul test s-au format 3 clase noi:

  • din primul copil din prima clasă, al trelea copil din a doua clasă si al treilea copil din a treia clasă
  • din al doilea copil din prima clasă, primul copil din a doua clasă şi al doilea copil din a treia clasă
  • din al treilea copil din prima clasă, al doilea copil din a doua clasă si primul copil din a treia clasă

Pentru al doilea exemplu o altă soluţie corecta este:
5 3
1 3
8 3
dar urmatoarea nu este corecta deoarece nu există niciun copil în prima clasă cu riscul 3
3 5
3 1
3 8
Nici urmatoarea soluţie nu este corectă deoarece nu există 2 copii cu riscul 1 in prima clasa înainte de reorganizare
5 3
1 3
1 3

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?