#include <iostream> #include <string> using namespace std; string napis; bool ciag[200000]; long long pocz = 0; long long wynik,dl,dl1; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> napis; dl = napis.size(); dl1 = dl - 1; for(long long i = 0; i < dl; i++) if(napis[i] == 'a' || napis[i] == 'e' || napis[i] == 'i' || napis[i] == 'o' || napis[i] == 'u' || napis[i] == 'y') ciag[i] = 1; for(long long i = 2; i < dl; i++) if(ciag[i] == ciag[i - 1] && ciag[i - 1] == ciag[i - 2]){ wynik += i - 2 - pocz + dl1 - i + (i - 2 - pocz) * (dl1 - i) + 1; pocz = i - 1; } 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 | #include <iostream> #include <string> using namespace std; string napis; bool ciag[200000]; long long pocz = 0; long long wynik,dl,dl1; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> napis; dl = napis.size(); dl1 = dl - 1; for(long long i = 0; i < dl; i++) if(napis[i] == 'a' || napis[i] == 'e' || napis[i] == 'i' || napis[i] == 'o' || napis[i] == 'u' || napis[i] == 'y') ciag[i] = 1; for(long long i = 2; i < dl; i++) if(ciag[i] == ciag[i - 1] && ciag[i - 1] == ciag[i - 2]){ wynik += i - 2 - pocz + dl1 - i + (i - 2 - pocz) * (dl1 - i) + 1; pocz = i - 1; } cout << wynik; return 0; } |