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
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
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă