Informatică, întrebare adresată de connorishumanig, 8 ani în urmă

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ăspunsuri la întrebare

Răspuns de lucaciucandrei
0

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;

}

Alte întrebări interesante