#include <bits/stdc++.h>
using namespace std;
long long n;
string s;
char samogloska[] = {'a', 'e', 'i', 'o', 'u', 'y'};
int sp[200200], sa[200200];
bool stop[200200];
inline bool czy_samogloska(char c)
{
for(int i = 0; i < 6; i++)
{
if(c == samogloska[i]) return true;
}
return false;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(NULL); cout.tie(NULL);
cin>>s;
n = s.size();
s = "#" + s;
long long wynik = (n)*(n+1)/2LL;
for(int i = 1; i <= n; i++)
{
if(czy_samogloska(s[i])) sa[i] = min(3, sa[i-1]+1);
else sp[i] = min(3, sp[i-1]+1);
}
for(int i = 1; i <= n; i++)
{
if(sa[i] == 3 || sp[i] == 3) stop[i-1] = true;
//cout<<sp[i]<<" ";
}
stop[n] = true;
//cout<<endl;
int popstop = 1;
for(int i = 1; i <= n; i++)
{
if(stop[i] == true)
{
long long dl = i-popstop+1;
long long przedzial = (dl)*(dl+1)/2;
if(popstop != 1) przedzial--;
//cout<<i<<" "<<popstop<<" "<<przedzial<<endl;
popstop = i;
wynik -= przedzial;
}
}
cout<<wynik<<endl;
}
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 49 50 51 52 53 | #include <bits/stdc++.h> using namespace std; long long n; string s; char samogloska[] = {'a', 'e', 'i', 'o', 'u', 'y'}; int sp[200200], sa[200200]; bool stop[200200]; inline bool czy_samogloska(char c) { for(int i = 0; i < 6; i++) { if(c == samogloska[i]) return true; } return false; } int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); cin>>s; n = s.size(); s = "#" + s; long long wynik = (n)*(n+1)/2LL; for(int i = 1; i <= n; i++) { if(czy_samogloska(s[i])) sa[i] = min(3, sa[i-1]+1); else sp[i] = min(3, sp[i-1]+1); } for(int i = 1; i <= n; i++) { if(sa[i] == 3 || sp[i] == 3) stop[i-1] = true; //cout<<sp[i]<<" "; } stop[n] = true; //cout<<endl; int popstop = 1; for(int i = 1; i <= n; i++) { if(stop[i] == true) { long long dl = i-popstop+1; long long przedzial = (dl)*(dl+1)/2; if(popstop != 1) przedzial--; //cout<<i<<" "<<popstop<<" "<<przedzial<<endl; popstop = i; wynik -= przedzial; } } cout<<wynik<<endl; } |
English