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;

char s[200010];
bool k[200010];
vector <int> ost;

int main()
{
    scanf("%s",s);
    int n=strlen(s);
    for(int i=0;i<n;++i)
    {
        if( s[i]=='a' || s[i]=='e' || s[i]=='y' || s[i]=='u' || s[i]=='i' || s[i]=='o')
        {
            k[i]=true;
        }
        else k[i]=false;
    }
    for(int i=0;i<n-2;++i)
    {
            if(k[i]==k[i+1] && k[i]==k[i+2])
            {
                ost.push_back(i+2);
            }
    }
    int licz=0;
    int licz_kon=ost.size();
    if(licz==licz_kon)
    {
        printf("0\n");
        return 0;
    }
    long long wyn=0;
    for(int i=0;i<n-2;++i)
    {
        while(ost[licz]<i+2)
        {
            licz++;
            if(licz==licz_kon)break;
        }
        if(licz_kon==licz)break;
        wyn+=(n-ost[licz]);
    }
    printf("%lld\n",wyn);
    return 0;
}