#include <iostream> using namespace std; string s; long long xd[200006],poz[200006],wynik,k; int main() { cin >> s; if(s.size()!=1) {for(int i=s.size()-1;i>=0;i--) { if((s[i]=='e')||(s[i]=='a')||(s[i]=='y')||(s[i]=='i')||(s[i]=='u')||(s[i]=='o')) { xd[i]=1; } poz[i]=s.size()-1; } for(int i=s.size()-3;i>=0;i--) { poz[i]=poz[i+1]; if((xd[i]==xd[i+1])&&(xd[i]==xd[i+2])) { poz[i]=i; } } for(int i=0;i<s.size()-2;i++) { k=(s.size()-poz[i]-2); if(k<0) k=0; wynik=wynik+k; } cout << wynik; return 0;} else { cout << 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 | #include <iostream> using namespace std; string s; long long xd[200006],poz[200006],wynik,k; int main() { cin >> s; if(s.size()!=1) {for(int i=s.size()-1;i>=0;i--) { if((s[i]=='e')||(s[i]=='a')||(s[i]=='y')||(s[i]=='i')||(s[i]=='u')||(s[i]=='o')) { xd[i]=1; } poz[i]=s.size()-1; } for(int i=s.size()-3;i>=0;i--) { poz[i]=poz[i+1]; if((xd[i]==xd[i+1])&&(xd[i]==xd[i+2])) { poz[i]=i; } } for(int i=0;i<s.size()-2;i++) { k=(s.size()-poz[i]-2); if(k<0) k=0; wynik=wynik+k; } cout << wynik; return 0;} else { cout << 0; } } |