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
#include<bits/stdc++.h>
using namespace std;
int odp,ile[999],wcz,n,tylm,znak[3001],tylet[3001];
int main()
{
    wcz=getchar();
    while(wcz>='a'&&wcz<='z')
    {
        znak[n]=wcz;
        for(int i='a';i<='z';++i)
        {
            tylet[ile[i]]=0;
            ile[i]=0;
        }
        tylm=0;
        for(int i=n;i>=0;--i)
        {
            if(ile[znak[i]]!=0)
            {
                --tylet[ile[znak[i]]];
                if(!tylet[ile[znak[i]]])
                --tylm;
            }
            ++ile[znak[i]];
            ++tylet[ile[znak[i]]];
            if(tylet[ile[znak[i]]]==1)
            ++tylm;
            if(tylm==1)
            ++odp;
        }
        ++n;
        wcz=getchar();
    }
    printf("%d",odp);
    return 0;
}