#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); }
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); } |