// 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; } |