PROBLEMA 578 de pe pbinfo. va multumesc
Cerința
Se dă un vector cu n elemente, numere naturale. Determinați câte secvențe ale vectorului au toate elementele egale.
Date de intrare
Programul citește de la tastatură numărul n, apoi cele n elemente ale vectorului.
Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând valoarea cerută.
Restricții și precizări1 ≤ n ≤ 100.000elementele vectorului vor fi mai mici decât 1.000.000.000
Exemplu
Intrare
5 4 3 3 3 5
Ieșire
8 Explicație
Cele 8 secvențe sunt: (4), (3), (3 3), (3 3 3), (3 ), (3 3), (3), (5).
Răspunsuri la întrebare
Răspuns de
4
Răspuns:
#include <iostream>
using namespace std;
unsigned long long c,n,a[100000];
int main()
{
cin>>n;
cin>>a[0];
int L=1;
for(int i=1;i<n;i++)
{
cin>>a[i];
if(a[i]==a[i-1])
L++;
else
{
c+=(L*(L-1))/2;
L=1;
}
}
if(L>1)
c+=(L*(L-1))/2;
if(L==n)
c=n*(n-1)/2;
cout<<n+c;
return 0;
}
Explicație:
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Geografie,
9 ani în urmă