Informatică, întrebare adresată de morcov64, 9 ani în urmă

!!!!

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).
#578

Răspunsuri la întrebare

Răspuns de jonas2
7
#include <iostream>
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;}
Alte întrebări interesante