#include <iostream> #include <cstdio> using namespace std; const int MAXN = 200001; char s[MAXN]; int n; long long result=0; bool czySamo(char c) { if(c=='a') return 1; if(c=='e') return 1; if(c=='y') return 1; if(c=='o') return 1; if(c=='u') return 1; if(c=='i') return 1; return 0; } void readInput() { scanf("%s",s); int i=0; while(s[i]) i++; n=i; //cout<<n<<"\n"; } void myAlgo() { int fir = n+10; for(int i=2; i<n;i++) { if(czySamo(s[i])==czySamo(s[i-1])&&czySamo(s[i])==czySamo(s[i-2])) { fir = i-2; } if(fir != n+10) { result+=fir+1; } } } int main() { readInput(); myAlgo(); printf("%lld",result); 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 55 | #include <iostream> #include <cstdio> using namespace std; const int MAXN = 200001; char s[MAXN]; int n; long long result=0; bool czySamo(char c) { if(c=='a') return 1; if(c=='e') return 1; if(c=='y') return 1; if(c=='o') return 1; if(c=='u') return 1; if(c=='i') return 1; return 0; } void readInput() { scanf("%s",s); int i=0; while(s[i]) i++; n=i; //cout<<n<<"\n"; } void myAlgo() { int fir = n+10; for(int i=2; i<n;i++) { if(czySamo(s[i])==czySamo(s[i-1])&&czySamo(s[i])==czySamo(s[i-2])) { fir = i-2; } if(fir != n+10) { result+=fir+1; } } } int main() { readInput(); myAlgo(); printf("%lld",result); return 0; } |