395
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ări
1 ≤ n ≤ 100.000- elementele 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).
#include <bits/stdc++.h>
using namespace std;
long long v[100005];
int main()
{
long long n,nrsecv=0,c;
cin >> n;
for (int i = 1; i<=n; i++)
cin >> v[i];
for (int i = 1; i<=n; i++)
{
c = 1;
while (v[i] == v[i+1] && i+1<=n)
{
c++;
i++;
}
nrsecv+=c*(c+1)/2;
}
cout << nrsecv;
}
Comentarii