Se dă un sir cu n elemente, numere naturale nenule cu cel mult 2 cifre fiecare, în care cel puţin un element se repetă. Să se determine lungimea maximă a unei secvenţe de elemente din şir, cu proprietatea că primul şi ultimul element din secvenţă au aceeaşi valoare.

Date de intrare

Fişierul de intrare lungime.in conţine pe prima linie numărul n; urmează n numere naturale separate prin spaţii, reprezentând elementele şirului, ce pot fi dispuse pe mai multe linii.

Date de ieşire

Fişierul de ieşire lungime.out va conţine pe prima linie numărul L, reprezentând lungimea maximă determinată.

Restricţii şi precizări

1 ≤ n ≤ 100.000


Exemplu

lungime.in
12 2 13 10 5 10 12 6 7 5 10 12 8
lungime.out
8​


Răspuns :

COROANA TE ROG!!!

#include <iostream>

#include<fstream>

using namespace std;  

int main() {

   int n, x, v[1001]={0}, nr[1001], lmax=0;

   ifstream cin("lungime.in");

   ofstream cout("lungime.out");  

   cin>>n;

   for(int i=1;i<=n;++i) {

       cin>>x;

       if(v[x]==1) {

           if(i-nr[x]>lmax)

               lmax=i-nr[x];

       }

       else nr[x]=i,v[x]++;

   }

   cout<<lmax+1;

   return 0;

}

Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru orice întrebări sau sprijin suplimentar, suntem aici pentru voi – nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și vă sugerăm să ne salvați în lista de site-uri preferate!


RO Studier: Alte intrebari