#include"bits/stdc++.h"
using namespace std;
string sl;
long long odp;
int licz;
int pocz,kon;
int samo(char x);
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>sl;
kon=sl.size();
if(sl.size()>=3){
licz+=samo(sl[0])+samo(sl[1])+samo(sl[2]);
if(licz%3==0){
odp+=kon-2;
pocz=1;
}
for(int g=3;g<sl.size();g++){
licz-=samo(sl[g-3]);
licz+=samo(sl[g]);
if(licz%3==0){
odp+=(kon-g)*(g-pocz-1);
pocz=g-1;
}
}
}
cout<<odp;
}
int samo(char x)
{
if(x=='a' or x=='e' or x=='y' or x=='i' or x=='o' or x=='u')
return 1;
else
return -1;
}
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"bits/stdc++.h" using namespace std; string sl; long long odp; int licz; int pocz,kon; int samo(char x); int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>sl; kon=sl.size(); if(sl.size()>=3){ licz+=samo(sl[0])+samo(sl[1])+samo(sl[2]); if(licz%3==0){ odp+=kon-2; pocz=1; } for(int g=3;g<sl.size();g++){ licz-=samo(sl[g-3]); licz+=samo(sl[g]); if(licz%3==0){ odp+=(kon-g)*(g-pocz-1); pocz=g-1; } } } cout<<odp; } int samo(char x) { if(x=='a' or x=='e' or x=='y' or x=='i' or x=='o' or x=='u') return 1; else return -1; } |
English