1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <bits/stdc++.h>

using namespace std;

int l[150];
int tab[200005];

int main()
{
    ios_base::sync_with_stdio(0);
    l[97]=1;
    l[101]=1;
    l[105]=1;
    l[111]=1;
    l[117]=1;
    l[121]=1;

 string a;
 cin>>a;
 long long s=a.size();
 long long wynik=(s*(s+1))/2;
 wynik-=s+s-1;
//cout<<wynik<<endl;
 for(int i=0;i<s-2;i++){
    if(l[(int)a[i]]==l[(int)a[i+1]]&&l[(int)a[i]]==l[(int)a[i+2]])tab[i]=1;
 }
//for(int i=0;i<s-2;i++)cout<<tab[i]<<endl;
 long long ile=0;
 long long last=-1;
 for(int i=0;i<s-2;i++){
    if(last==-1){
        last=tab[i];
        ile=1;
    }
    else if(last==tab[i]){
        ile++;
    }
    else{
       if(last==0) wynik-=(ile*(ile+1))/2;
        ile=1;
        last=tab[i];
    }

 }
 if(last==0)wynik-=(ile*(ile+1))/2;
 cout<<wynik;

}