1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdio>
using namespace std;

#define is_vowel(x) (x=='a' || x=='e' || x=='i' || x=='o' || x=='u' || x=='y')

char S[200005];
long long result;
int last_begin = -1;

int main(){
    scanf("%s", S);
    result = 0;

    for (int i=2; S[i]; ++i) {
        if ((is_vowel(S[i]) && is_vowel(S[i-1]) && is_vowel(S[i-2])) || (!is_vowel(S[i]) && !is_vowel(S[i-1]) && !is_vowel(S[i-2]))) {
            last_begin = i-2;
            result += i-1;
        } else if (last_begin != -1) {
            result += last_begin + 1;
        }
    }

    printf("%lld\n", result);
}