第八题:子串分值和
过了80%
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<limits.h>
int main()
{
char arr[100000+1];
scanf("%s",arr);
int zm[26];
int i,len=strlen(arr);
memset(zm,-1,sizeof(zm));
long long ans=0LL;
for(i=0;i<len;i++)
{
ans+=((len-i)*((i+1)-(zm[arr[i]-'a']+1)));
zm[arr[i]-'a']=i;
}
printf("%lld",ans);
return 0;
}