#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; } } |
English