// // main.cpp // pol // // Created by Apple on 11/12/2018. // Copyright © 2018 Example. All rights reserved. // #include <cstdio> char s[200007]; bool czysamogloska(char c) { return c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='y'; } int main(int argc, const char * argv[]) { long long n,i,pozost; long long odp; scanf("%s",s); for(i=0;s[i]!=0;i++) { s[i]=czysamogloska(s[i]); } n=i; pozost=-1; odp=0; for(i=0;i<n-2;i++) { if(s[i]==s[i+1] && s[i]==s[i+2]) { if(pozost!=-1) { odp+=(pozost+1)*(i-pozost); } pozost=i; s[i]=1; } else { s[i]=0; } } if(pozost!=-1) { odp+=(n-2-pozost)*(pozost+1); } printf("%lld\n", odp); 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 32 33 34 35 36 37 38 39 40 41 42 43 44 | // // main.cpp // pol // // Created by Apple on 11/12/2018. // Copyright © 2018 Example. All rights reserved. // #include <cstdio> char s[200007]; bool czysamogloska(char c) { return c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='y'; } int main(int argc, const char * argv[]) { long long n,i,pozost; long long odp; scanf("%s",s); for(i=0;s[i]!=0;i++) { s[i]=czysamogloska(s[i]); } n=i; pozost=-1; odp=0; for(i=0;i<n-2;i++) { if(s[i]==s[i+1] && s[i]==s[i+2]) { if(pozost!=-1) { odp+=(pozost+1)*(i-pozost); } pozost=i; s[i]=1; } else { s[i]=0; } } if(pozost!=-1) { odp+=(n-2-pozost)*(pozost+1); } printf("%lld\n", odp); return 0; } |