#include <cstdio>
#define s std::scanf
#define p std::printf
char c[200004];
long long int r;
int l[2]; // a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
int w[26] = {1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0};
int main() {
s("%s",c);
int last = 1;
for (int i = 0; c[i]; i++) {
int a = w[c[i] - 'a'];
l[1 - a] = 0;
if (++l[a] > 2) last = i;
r += (last - 1);
}
p("%lld\n",r);
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <cstdio> #define s std::scanf #define p std::printf char c[200004]; long long int r; int l[2]; // a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z int w[26] = {1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0}; int main() { s("%s",c); int last = 1; for (int i = 0; c[i]; i++) { int a = w[c[i] - 'a']; l[1 - a] = 0; if (++l[a] > 2) last = i; r += (last - 1); } p("%lld\n",r); return 0; } |
English