// Author: Piotr Grzegorczyk (ud2@interia.eu)
// Task: PA2018/POL
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
long long r = 0;
string s;
cin >> s;
vector<int> vv(256, 0);
vv['a'] = 1;
vv['e'] = 1;
vv['i'] = 1;
vv['o'] = 1;
vv['u'] = 1;
vv['y'] = 1;
int l = s.length();
vector<int> vi;
for (int i=0; i+2<l; i++) {
int c = vv[s[i]] + vv[s[i+1]] + vv[s[i+2]];
if (c == 0 || c == 3)
vi.push_back(i);
}
int j = 0;
int p = -1;
for (int i=0; i+2<l; i++) {
if (i > p) {
if (j >= vi.size())
break;
p = vi[j++];
}
r += l-p-2;
}
cout << r << endl;
return 0;
}
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 | // Author: Piotr Grzegorczyk (ud2@interia.eu) // Task: PA2018/POL #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); long long r = 0; string s; cin >> s; vector<int> vv(256, 0); vv['a'] = 1; vv['e'] = 1; vv['i'] = 1; vv['o'] = 1; vv['u'] = 1; vv['y'] = 1; int l = s.length(); vector<int> vi; for (int i=0; i+2<l; i++) { int c = vv[s[i]] + vv[s[i+1]] + vv[s[i+2]]; if (c == 0 || c == 3) vi.push_back(i); } int j = 0; int p = -1; for (int i=0; i+2<l; i++) { if (i > p) { if (j >= vi.size()) break; p = vi[j++]; } r += l-p-2; } cout << r << endl; return 0; } |
English