Detonator

Time limit: 1s Memory limit: 128MB Input: detonator.in Output: detonator.out

Comisarul Roman se află în fața unui dispozitiv exploziv constând dintr-o piramidă cu NN nivele numerotate de la 11 la NN. Fiecare nivel ii conține ii bombe numerotate de la 11 la ii. Notăm bomba jj de pe nivelul ii cu Bi,jB_{i,j}. Pentru fiecare bombă Bi,jB_{i,j} se cunoaște timpul în secunde Ti,jT_{i,j} de la momentul inițial după care aceasta explodează. Roman trebuie să dezamorseze dispozitivul după următoarele reguli:

  1. Dezamorsarea unei bombe durează o secundă
  2. Pentru a dezamorsa bombă Bi,jB_{i,j} trebuie întâi dezamorsate cele două bombe peste care aceasta este așezată, adică Bi+1,jB_{i+1,j} și Bi+1,j+1B_{i+1,j+1}. Bombele de pe nivelul NN nu au bombe dedesubt și deci nu se supun acestei reguli.

Dispozitivul se consideră dezamorsat odată ce toate bombele au fost dezamorsate. Roman nu vrea să se grăbească, așa că ar vrea să știe care este numărul maxim de secunde XX astfel încât, dacă ar începe operațiunea de dezamorsare cu o întârziere inițială de XX secunde, dispozitivul ar putea fi încă dezamorsat cu succes. Cu alte cuvinte, se cere cel mai mare număr XX astfel încât dezamorsarea ar fi posibilă dacă am înlocui numerele Ti,jT_{i,j} cu Ti,jXT_{i,j} − X pentru 1jiN1 ≤ j ≤ i ≤ N. Este posibil și ca XX să fie negativ dacă Roman a ajuns prea târziu la dispozitiv. De exemplu, dacă dezamorsarea nu este posibilă în condițiile date dar ar fi fost posibilă dacă s-ar fi ajuns la fața locului cu o secundă mai devreme, atunci X=1X = −1. Dacă nici cu o secundă mai devreme nu s-ar fi putut, dar s-ar fi putut cu două secunde mai devreme, atunci X=2X = −2, și așa mai departe.

Cerință

Pentru QQ teste, date fiind NN și valorile Ti,jT_{i,j} pentru 1jiN1 ≤ j ≤ i ≤ N , se cere numărul XX.

Date de intrare

Prima linie a fişierului de intrare detonator.in conţine QQ, reprezentând numărul de teste. Urmează descrierea celor QQ teste, fiecare test fiind descris după cum urmează. Prima linie conține numărul întreg NN . Următoarele NN linii, numerotate în cadrul testului de la 11 la NN, conțin numere întregi astfel încât al jj-lea număr de pe linia ii este Ti,jT_{i,j}. Observați că linia ii conține ii numere.

Date de ieșire

Fișierul de ieșire detonator.out trebuie să conțină QQ linii, reprezentând numărul XX pentru fiecare test dat.

Restricții și precizări

  • 1Q51 \leq Q \leq 5
  • 1N1 0001 \leq N \leq 1 \ 000
  • 1Ti,j1091 ≤ T_{i,j} ≤ 10^9 pentru 1jiN1 ≤ j ≤ i ≤ N.
# Punctaj Restricții
1 7 Valorile Ti,jT_{i,j} pentru 1jiN1 ≤ j ≤ i ≤ N sunt egale (toate bombele sunt programate să explodeze în același timp).
2 13 N5,X10N ≤ 5, \|X\| \leq 10
3 9 N5N ≤ 5
4 14 N50,X10N ≤ 50, \|X\| \leq 10 și Ti,jmax(Ti+1,j,Ti+1,j+1)T_{i,j} ≥ max(T_{i+1,j}, T_{i+1,j+1}) pentru 1ji<N1 ≤ j ≤ i < N
5 13 N50,X10N ≤ 50, \|X\| \leq 10
6 2 N50N ≤ 50
7 9 N200,X10N ≤ 200, \|X\| \leq 10
8 2 N200N ≤ 200
9 19 N500N ≤ 500
10 12 Fără restricții suplimentare.

Exemplu

detonator.in

4
2
10
10 10
4
10
7 9
4 6 8
1 3 2 5
3
9
9 9
1 1 1
3
6
5 3
4 4 4

detonator.out

7
0
-2
0

Explicație

  • Primul test are N=2N = 2, iar cele N(N+1)/2=3N \cdot (N + 1)/2 = 3 bombe toate explodează după 1010 secunde. Astfel, Roman poate aștepta maxim 77 secunde după care să înceapă procesul, dezamorsând cele trei bombe după 8,98, 9 și respectiv 1010 secunde.
  • Al doilea test este ilustrat în Figura 1. În acest caz, Roman trebuie să înceapă dezamorsarea imediat, deoarece bomba B4,1B_{4,1} ar exploda după o secundă. Singura ordine de dezamorsare validă este dată de valorile Bi,jB_{i,j} în ordinea 1,2,,101, 2, \dots, 10.
  • Al treilea test are trei bombe ce explodează imediat, așa că Roman ar fi trebuit să ajungă cu 22 secunde mai devreme la dispozitiv.

Log in or sign up to be able to send submissions!