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 intrareProgramul citește de la tastatură numărul n, apoi cele n elemente ale vectorului.
Date de ieșireProgramul 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.000Exemplu
Intrare
5 4 3 3 3 5Ieșire
8 ExplicațieCele 8 secvențe sunt: (4), (3), (3 3), (3 3 3), (3 ), (3 3), (3), (5).
Răspunsuri la întrebare
Răspuns de
7
#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;
Asa cred, dar mai trebuie continuat putin.
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;
Asa cred, dar mai trebuie continuat putin.
stassahul:
E bun, dar inchide parantezele la main
Alte întrebări interesante
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba rusă,
9 ani în urmă
Limba română,
9 ani în urmă