Atenție! Aceasta este o versiune veche a paginii., scrisă la 2025-02-28 12:59:04.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire triunghi.in, triunghi.out Sursă OJI 2020 Clasa a 8-a
Autor Alin Burța Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 4 sec Limită de memorie 32768 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Triunghi (clasa a 8-a)

Se consideră A un tablou bidimensional cu n linii, n coloane și elemente numere naturale. O zonă triunghiulară a tabloului, reprezentată de tripletul (lin, col, k), este o zonă de forma unui triunghi dreptunghic cu catetele de lungime egală cu |k|, definită astfel:

  1. Pentru k > 0, zona este compusă din k linii:
    • pe prima linie a zonei se află elementele A[lin][col], A[lin][col+1], ..., A[lin][col+k-1];
    • pe a doua linie a zonei se află elementele A[lin+1][col], A[lin+1][col+1], ..., A[lin+1][col+k-2];
    • pe a treia linie a zonei se află elementele A[lin+2][col], A[lin+2][col+1], ..., A[lin+2][col+k-3];
    • pe ultima linie a zonei se află elementul A[lin+k-1][col].
  1. Pentru k < 0, zona este compusă din |k| = -k linii:
    • pe prima linie a zonei se află elementul A[lin-|k|+1][col];
    • pe a doua linie a zonei se află elementele A[lin-|k|+2][col-1], A[lin-|k|+2][col];
    • pe ultima linie a zonei se află elementele A[lin][col-|k|+1], A[lin][col-|k|+2],..., A[lin][col].

Suma elementelor ce compun o zonă triunghiulară se numește suma zonei.

Cerință

Scrieți un program care, cunoscând tabloul A și Q zone triunghiulare, determină cea mai mare dintre sumele zonelor.

Date de intrare

Fișierul de intrare triunghi.in conține pe prima linie numărul natural n, cu semnificația din enunț. Pe următoarele n linii se găsesc câte n valori naturale, reprezentând elementele tabloului A. Pe linia n+2 se află numărul natural Q, reprezentând numărul zonelor triunghiulare. Pe următoarele Q linii se găsesc tripletele de valori lin col k, care reprezintă cele Q zone, în forma descrisă în enunț. Valorile aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire triunghi.out va conține o singură linie pe care va fi scris un număr natural reprezentând suma maximă cerută.

Restricții

  • 3 ≤ n ≤ 1000; 1 ≤ Q ≤ 100000; 2 ≤ |k| ≤ n
  • Valorile din tablou sunt numere naturale din intervalul [1,100].
  • Liniile și coloanele tabloului A sunt numerotate de la 1 la n (liniile de sus în jos, iar coloanele de la stânga la dreapta).
  • |k| reprezintă modulul numărului k (k, pentru k ≥ 0, respectiv –k, pentru k < 0).
  • Se garantează că orice zonă triunghiulară dintre cele Q este complet inclusă în tabloul A.

Exemplu

triunghi.in triunghi.out Explicație
6
5 8 10 4 9 4
2 10 10 2 4 8
8 10 3 4 6 6
4 6 9 7 1 9
6 7 2 2 10 6
10 4 6 1 10 4
3
4 1 3
4 4 -4
6 5 -2
59

Zona triunghiulară de sumă maximă (59) este

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii