👤

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


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;
}
Vă mulțumim că ați accesat site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați la favorite!


Ze Studies: Alte intrebari