#include<bits/stdc++.h> using namespace std; int zaz[200005]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); set <char> sam; sam.insert('a'); sam.insert('e'); sam.insert('i'); sam.insert('o'); sam.insert('u'); sam.insert('y'); string s; cin>>s; long long w=0; zaz[0]=1; for(int i=1; i<s.size()-1; i++) { zaz[i]=zaz[i-1]+1; if(sam.find(s[i])!=sam.end() && sam.find(s[i-1])!=sam.end() && sam.find(s[i+1])!=sam.end()) { zaz[i]=1; w++; w+=zaz[i-1]-1; w+=s.size()-i-2; w+=(zaz[i-1]-1)*(s.size()-i-2); } else if(sam.find(s[i])==sam.end() && sam.find(s[i-1])==sam.end() && sam.find(s[i+1])==sam.end()) { zaz[i]=1; w++; w+=zaz[i-1]-1; w+=s.size()-i-2; w+=(zaz[i-1]-1)*(s.size()-i-2); } } cout<<w; 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 48 49 50 51 52 53 54 | #include<bits/stdc++.h> using namespace std; int zaz[200005]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); set <char> sam; sam.insert('a'); sam.insert('e'); sam.insert('i'); sam.insert('o'); sam.insert('u'); sam.insert('y'); string s; cin>>s; long long w=0; zaz[0]=1; for(int i=1; i<s.size()-1; i++) { zaz[i]=zaz[i-1]+1; if(sam.find(s[i])!=sam.end() && sam.find(s[i-1])!=sam.end() && sam.find(s[i+1])!=sam.end()) { zaz[i]=1; w++; w+=zaz[i-1]-1; w+=s.size()-i-2; w+=(zaz[i-1]-1)*(s.size()-i-2); } else if(sam.find(s[i])==sam.end() && sam.find(s[i-1])==sam.end() && sam.find(s[i+1])==sam.end()) { zaz[i]=1; w++; w+=zaz[i-1]-1; w+=s.size()-i-2; w+=(zaz[i-1]-1)*(s.size()-i-2); } } cout<<w; return 0; } |