Sari la conținut
Zece la Info
Probleme

Bacalaureat Antrenament 2020, Varianta 10, S3.3 - Ratia progresiei aritmetice maxime

Grea 2000 ms 64 MB#bacalaureat#2020#antrenament#subiectul3

Un sir format din cel putin trei termeni formeaza o progresie aritmetica de ratie r daca diferenta dintre oricare termen al acestuia si cel aflat pe pozitia consecutiva in sir este egala cu r.

Fisierul text bac.txt contine un sir de cel putin trei si cel mult 10^6 numere intregi din intervalul [-10^8,10^8]. Numerele sunt separate prin cate un spatiu. Se cere sa se afiseze pe ecran ratia unei secvente din sir cu numar maxim de termeni, secventa care formeaza o progresie aritmetica. Daca exista mai multe astfel de secvente de lungime maxima se afiseaza ratia cea mai mare, iar daca nu exista nicio astfel de secventa, se afiseaza pe ecran mesajul nu exista. Proiectati un algoritm eficient din punctul de vedere al memoriei utilizate si al timpului de executare.

Exemplu: daca fisierul contine numerele 4 9 14 19 18 17 8 5 3 1 -1 -3 -5 -7 pe ecran se afiseaza valoarea -2 (corespunzatoare secventei 5 3 1 -1 -3 -5 -7).

Date de intrare
Fisierul bac.txt: un sir de numere intregi, separate prin spatiu.
Date de iesire
Ratia celei mai lungi secvente-progresie-aritmetica (cea mai mare ratie la egalitate de lungime), sau mesajul 'nu exista'.
Restrictii
cel putin 3, cel mult 10^6 termeni

Exemple

Exemplul 1

Intrare

4 9 14 19 18 17 8 5 3 1 -1 -3 -5 -7

Iesire

-2

Exemplul 2

Intrare

1 2 3

Iesire

1

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.