#include <bits/stdc++.h> using namespace std; string s; int ost[200010]; long long tab[200010]; string spol = "aeiouy"; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // cout << char(-48) << "\n"; cin >> s; for(int i=0; i<s.size(); i++) { // cout << int(s[i]) << "\n"; for(int j=0; j<spol.size(); j++) { if(s[i]==spol[j]) { s[i]='a'; break; } } } // cout << s << "\n"; for(int i=0; i<s.size(); i++) { if(s[i]!='a') { // cout << s[i] << " -> " << 'b' << "\n"; s[i]='b'; } // cout << s[i]; } // cout << "\n"; if(s.size()<3) { cout << "0\n"; return 0; } for(int i=2; i<s.size(); i++) { if(s[i]==s[i-1] && s[i]==s[i-2]) { ost[i]=i; } else ost[i]=ost[i-1]; } // for(int i=0; i<s.size(); i++) { // cout << ost[i]; // } // cout << "\n"; // cout << s << "\n"; for(int i=1; i<s.size(); i++) { tab[i] = tab[i-1]+max(ost[i]-1,0); } cout << tab[s.size()-1] << "\n"; }
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 | #include <bits/stdc++.h> using namespace std; string s; int ost[200010]; long long tab[200010]; string spol = "aeiouy"; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // cout << char(-48) << "\n"; cin >> s; for(int i=0; i<s.size(); i++) { // cout << int(s[i]) << "\n"; for(int j=0; j<spol.size(); j++) { if(s[i]==spol[j]) { s[i]='a'; break; } } } // cout << s << "\n"; for(int i=0; i<s.size(); i++) { if(s[i]!='a') { // cout << s[i] << " -> " << 'b' << "\n"; s[i]='b'; } // cout << s[i]; } // cout << "\n"; if(s.size()<3) { cout << "0\n"; return 0; } for(int i=2; i<s.size(); i++) { if(s[i]==s[i-1] && s[i]==s[i-2]) { ost[i]=i; } else ost[i]=ost[i-1]; } // for(int i=0; i<s.size(); i++) { // cout << ost[i]; // } // cout << "\n"; // cout << s << "\n"; for(int i=1; i<s.size(); i++) { tab[i] = tab[i-1]+max(ost[i]-1,0); } cout << tab[s.size()-1] << "\n"; } |