#include <cstdio>
char tab[200005];
main(){
scanf("%s",tab);
long long sum=0;
long long i=0,len,ileA=0,ileB=0,lastInd=-1,j;
for(len=0;tab[len]!='\0';len++){}
for(j=0;tab[j]!='\0';j++){
if((tab[j]=='a')||(tab[j]=='e')||(tab[j]=='y')||(tab[j]=='u')||(tab[j]=='i')||(tab[j]=='o')){
ileA++;
ileB=0;
}
else{
ileA=0;
ileB++;
}
// printf("[%d %d]\n",ileA,ileB);
if(ileA>2 || ileB>2){
// printf("jj %d %d %d\n",j,(j - 2 - lastInd),(len-j));
sum += (j - 2 - lastInd)*(len-j);
lastInd=j-2;
// printf("%d\n",sum);
}
}
printf("%lld\n",sum);
}
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 | #include <cstdio> char tab[200005]; main(){ scanf("%s",tab); long long sum=0; long long i=0,len,ileA=0,ileB=0,lastInd=-1,j; for(len=0;tab[len]!='\0';len++){} for(j=0;tab[j]!='\0';j++){ if((tab[j]=='a')||(tab[j]=='e')||(tab[j]=='y')||(tab[j]=='u')||(tab[j]=='i')||(tab[j]=='o')){ ileA++; ileB=0; } else{ ileA=0; ileB++; } // printf("[%d %d]\n",ileA,ileB); if(ileA>2 || ileB>2){ // printf("jj %d %d %d\n",j,(j - 2 - lastInd),(len-j)); sum += (j - 2 - lastInd)*(len-j); lastInd=j-2; // printf("%d\n",sum); } } printf("%lld\n",sum); } |
English