#include <bits/stdc++.h> using namespace std; typedef long long ll; ll out; int n, i, d; bool t [200002]; char s [200002]; int main () { scanf ("%s",s+1); n=strlen(s+1); for (i=1; i<=n; i++) { if (s[i]=='a') t[i]=true; if (s[i]=='e') t[i]=true; if (s[i]=='i') t[i]=true; if (s[i]=='o') t[i]=true; if (s[i]=='u') t[i]=true; if (s[i]=='y') t[i]=true; } for (i=1, d=1; i+2<=n; i++, d++) if (t[i]==t[i+1] && t[i]==t[i+2]) { out+=(ll)(((ll)(d))*((ll)(n-i-1))); d=0; } printf ("%lld\n",out); 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 | #include <bits/stdc++.h> using namespace std; typedef long long ll; ll out; int n, i, d; bool t [200002]; char s [200002]; int main () { scanf ("%s",s+1); n=strlen(s+1); for (i=1; i<=n; i++) { if (s[i]=='a') t[i]=true; if (s[i]=='e') t[i]=true; if (s[i]=='i') t[i]=true; if (s[i]=='o') t[i]=true; if (s[i]=='u') t[i]=true; if (s[i]=='y') t[i]=true; } for (i=1, d=1; i+2<=n; i++, d++) if (t[i]==t[i+1] && t[i]==t[i+2]) { out+=(ll)(((ll)(d))*((ll)(n-i-1))); d=0; } printf ("%lld\n",out); return 0; } |