ConcursC++17

cruce

Se consideră o matrice pătratică de dimensiune NN, conţinând numere naturale. Numim cruce de lăţime KK reuniunea mulțimii tuturor elementelor aflate pe KK linii consecutive ale matricei și a mulțimii tuturor elementelor aflate pe KK coloane consecutive ale matricei. Două elemente ale matricei se consideră distincte dacă sunt situate pe poziții distincte în matrice. Se acceptă şi forma degenerată a unei cruci, în formă de T sau L, când una dintre liniile sau coloanele care formează crucea sunt chiar la marginea matricei. Vom defini valoarea unei cruci ca fiind suma elementelor din care aceasta este formată.

Cerință

Scrieți un program care, pentru o valoare KK dată, determină o cruce de lățime KK a cărei valoare este maximă și poziția ei în matrice. Această poziție va fi exprimată prin perechea de indici reprezentând prima linie din cele KK consecutive și prima coloană din cele KK consecutive din care este formată crucea.

Date de intrare

Fişierul cruce.in conţine pe prima linie numerele NN şi KK, iar pe următoarele NN linii câte NN numere întregi reprezentând în ordine, pe linii, elementele matricei. Numerele de pe aceeaşi linie sunt separate prin câte un spaţiu.

Date de ieșire

Fişierul cruce.out va conţine trei numere Vmax L CVmax \ L \ C, separate prin câte un spaţiu, reprezentând valoarea maximă determinată pentru o cruce de lățime KK, respectiv linia și coloana care exprimă poziția acesteia în matrice.

Restricții și precizări

  • 1≤K<N≤5001 \leq K < N \leq 500;
  • Numerele din matrice sunt din intervalul [−5 000,5 000][-5 \ 000, 5 \ 000]
  • Liniile şi coloanele se indexează începând cu 1.
  • Dacă există mai multe cruci de lățime KK de valoare maximă, se va lua în considerare poziția cu indicele liniei mai mic, iar în caz de egalitate a liniilor poziția celei cu indicele coloanei mai mic.

Exemplul 1

cruce.in

5 2
1 -2 3 -1 4
-3 2 2 -2 -1
1 2 3 4 5
1 0 -7 1 1
3 2 1 2 3

cruce.out

23 2 4

Explicație

Elementele ce formează crucea de valoare maxima sunt:

Figura 1 din enunțul original al problemei cruce.Figura 1 din enunțul original al problemei cruce.Mărește schema ↗

Exemplul 2

cruce.in

5 2
0 0 1 1 1
2 2 2 2 2
2 2 2 2 2
2 2 2 2 2
0 0 1 1 1

cruce.out

28 2 3

Explicație

Valoarea maximă a unei cruci de lățime 22 este 2828.
În exemplu mai există cruci de valoare 2828, dar cu indicele de început al liniei sau coloanei mai mari.
De exemplu crucea care începe de pe linia 33 și coloana 33.

Sursă și autori

OJI 2018, clasele 8. Nistor Moț.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑