#include <iostream> int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); bool temp; unsigned char znak; long long int i = 0; long long int j = 0; long long int wynik = 0; bool tab[3] = {0}; long long int trki[200001] = {0}; znak = getchar(); while(znak != '\n'){ if (znak == 97 || znak == 111 || znak == 101 || znak == 105 || znak == 117 || znak == 121)temp = true; else temp = false; znak = getchar(); tab[0] = tab[1]; tab[1] = tab[2]; tab[2] = temp; if(i >= 2){ if(tab[0] == tab[1] && tab[1] == tab[2]){ trki[j] = i-2; j++; } } i++; } for(long long int w = i;w >= 3;w--){ for(long long int x = 0;(x+w)-1 != i;x++){ for(long long int z = 0;z < j;z++){ if(trki[z]+2 < x+w && trki[z] >= x){ wynik++; break; } } } } std::cout << wynik; 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 45 46 47 48 | #include <iostream> int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); bool temp; unsigned char znak; long long int i = 0; long long int j = 0; long long int wynik = 0; bool tab[3] = {0}; long long int trki[200001] = {0}; znak = getchar(); while(znak != '\n'){ if (znak == 97 || znak == 111 || znak == 101 || znak == 105 || znak == 117 || znak == 121)temp = true; else temp = false; znak = getchar(); tab[0] = tab[1]; tab[1] = tab[2]; tab[2] = temp; if(i >= 2){ if(tab[0] == tab[1] && tab[1] == tab[2]){ trki[j] = i-2; j++; } } i++; } for(long long int w = i;w >= 3;w--){ for(long long int x = 0;(x+w)-1 != i;x++){ for(long long int z = 0;z < j;z++){ if(trki[z]+2 < x+w && trki[z] >= x){ wynik++; break; } } } } std::cout << wynik; return 0; } |