日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Codefources 519D. A and B and Interesting Substrings

Codefources 519D. A and B and Interesting Substrings

來源:程序員人生   發布時間:2015-03-28 08:39:50 閱讀次數:3657次


D. A and B and Interesting Substrings
time limit per test
2 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

A and B are preparing themselves for programming contests.

After several years of doing sports programming and solving many problems that require calculating all sorts of abstract objects, A and B also developed rather peculiar tastes.

A likes lowercase letters of the Latin alphabet. He has assigned to each letter a number that shows how much he likes that letter (he has assigned negative numbers to the letters he dislikes).

B likes substrings. He especially likes the ones that start and end with the same letter (their length must exceed one).

Also, A and B have a string s. Now they are trying to find out how many substrings t of a string s are interesting to B (that is, t starts and ends with the same letter and its length is larger than one), and also the sum of values of all letters (assigned by A), except for the first and the last one is equal to zero.

Naturally, A and B have quickly found the number of substrings t that are interesting to them. Can you do it?

Input

The first line contains 26 integers xa,?xb,?...,?xz (?-?105?≤?xi?≤?105) ― the value assigned to letters a,?b,?c,?...,?z respectively.

The second line contains string s of length between 1 and 105 characters, consisting of Lating lowercase letters― the string for which you need to calculate the answer.

Output

Print the answer to the problem.

Sample test(s)
input
1 1 ⑴ 1 1 1 1 1 1 1 1 1 1 1 1 7 1 1 1 8 1 1 1 1 1 1 xabcab
output
2
input
1 1 ⑴ 1 1 1 1 1 1 1 1 1 1 1 1 7 1 1 1 8 1 1 1 1 1 1 aaa
output
2
Note

In the first sample test strings satisfying the condition above are abca and bcab.

In the second sample test strings satisfying the condition above are two occurences of aa.



/* *********************************************** Author :CKboss Created Time :2015年03月05日 星期4 16時32分55秒 File Name :D_.cpp ************************************************ */ #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <string> #include <cmath> #include <cstdlib> #include <vector> #include <queue> #include <set> #include <map> using namespace std; typedef long long int LL; const int maxn=100100; int n; LL val[30],presum[maxn]; char str[maxn]; map<LL,int> G[30]; int main() { //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); for(int i=0;i<26;i++) cin>>val[i]; cin>>str; n=strlen(str); for(int i=0;i<n;i++) { if(i==0) presum[0]=val[str[i]-'a']; else presum[i]=presum[i⑴]+val[str[i]-'a']; } LL ans=0; G[str[0]-'a'][val[str[0]-'a']]++; for(int i=1;i<n;i++) { int c=str[i]-'a'; LL pn=presum[i⑴]; LL pr=presum[i]; ans+=G[c][pn]; G[c][pr]++; } cout<<ans<<endl; return 0; }



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美精品一区二区三区蜜桃视频 | 麻豆二区 | 黄色免费看网站 | 国产日韩精品在线 | 久久久久国产精品一区二区 | 国产成人久久精品麻豆二区 | 91精品久久久久久久久青青 | 国产精品不卡在线 | 爱爱免费视频网址 | 久久性色 | 天天干,夜夜操 | 欧美精品久久 | 99久久久国产精品免费调教网站 | 久久密 | 中文字幕精品一区久久久久 | 国产二区视频在线观看 | 久久成人精品视频 | 高潮av | 爱爱免费视频网站 | 欧美二区三区四区 | 日韩视频欧美视频 | 成人精品在线播放 | 亚洲一区二区三区在线免费观看 | 69视频成人| 久久久一二三 | 色综合久久久 | 天天操夜夜看 | 国产精品一区二区久久久久 | 在线综合国产 | 免费的三级毛片 | 精品av久久久久电影 | 成人福利在线视频 | 91欧美精品成人综合在线观看 | 亚洲欧美综合精品久久成人 | 久国产精品 | 日本三级一区 | 国产精品1区 | 成人性生交大片免费看在线播放 | 欧美精品一区二区三区一线天视频 | 免费黄色在线看 | 五月综合激情网 |